fuzz: simpler operations on origFileName
diff --git a/fuzz.c b/fuzz.c
index 9dd0eb7..985c707 100644
--- a/fuzz.c
+++ b/fuzz.c
@@ -166,6 +166,7 @@
}
LOG_I("Entering phase 2/2: Dynamic Main");
+ snprintf(run->origFileName, sizeof(run->origFileName), "[DYNAMIC]");
ATOMIC_SET(run->global->state, _HF_STATE_DYNAMIC_MAIN);
/*
@@ -416,7 +417,6 @@
run->exception = 0;
run->report[0] = '\0';
run->mainWorker = true;
- run->origFileName = "DYNAMIC";
run->mutationsPerRun = run->global->mutationsPerRun;
run->dynamicFileSz = 0;
run->dynamicFileCopyFd = -1,
@@ -461,7 +461,6 @@
run->exception = 0;
run->report[0] = '\0';
run->mainWorker = true;
- run->origFileName = "DYNAMIC";
run->mutationsPerRun = run->global->mutationsPerRun;
run->dynamicFileSz = 0;
run->dynamicFileCopyFd = -1,
@@ -541,6 +540,7 @@
.fuzzNo = fuzzNo,
.persistentSock = -1,
.tmOutSignaled = false,
+ .origFileName = "[DYNAMIC]",
.linux.attachedPid = 0,
};
diff --git a/honggfuzz.h b/honggfuzz.h
index 92864c2..f598e27 100644
--- a/honggfuzz.h
+++ b/honggfuzz.h
@@ -302,7 +302,7 @@
pid_t pid;
pid_t persistentPid;
int64_t timeStartedMillis;
- const char* origFileName;
+ char origFileName[PATH_MAX];
char crashFileName[PATH_MAX];
uint64_t pc;
uint64_t backtrace;
diff --git a/input.c b/input.c
index d1f12d6..b977250 100644
--- a/input.c
+++ b/input.c
@@ -304,8 +304,6 @@
}
bool input_prepareDynamicInput(run_t* run) {
- run->origFileName = "[DYNAMIC]";
-
{
MX_SCOPED_RWLOCK_READ(&run->global->dynfileq_mutex);
@@ -332,11 +330,11 @@
}
bool input_prepareStaticFile(run_t* run, bool rewind) {
- static __thread char fname[PATH_MAX];
+ char fname[PATH_MAX];
if (!input_getNext(run, fname, /* rewind= */ rewind)) {
return false;
}
- run->origFileName = files_basename(fname);
+ snprintf(run->origFileName, sizeof(run->origFileName), "%s", fname);
ssize_t fileSz = files_readFileToBufMax(fname, run->dynamicFile, run->global->maxFileSz);
if (fileSz < 0) {
@@ -351,7 +349,7 @@
}
bool input_prepareExternalFile(run_t* run) {
- run->origFileName = "[EXTERNAL]";
+ snprintf(run->origFileName, sizeof(run->origFileName), "[EXTERNAL]");
int fd = files_writeBufToTmpFile(run->global->io.workDir, (const uint8_t*)"", 0, 0);
if (fd == -1) {