summaryrefslogtreecommitdiff
path: root/mac
diff options
context:
space:
mode:
authorRobert Swiecki <robert@swiecki.net>2017-12-18 00:17:50 +0100
committerRobert Swiecki <robert@swiecki.net>2017-12-18 00:17:50 +0100
commit97d0ceeeaed6c706ae893235c089ceabaa69ff9f (patch)
treee3c99071d32ba42ef39c4a4ca830140026af8f98 /mac
parentfe5a00fc1d9ded8a2e0fa842e9d975fdc8f058da (diff)
downloadhonggfuzz-97d0ceeeaed6c706ae893235c089ceabaa69ff9f.tar.gz
move some struct honggfuzz fields into exe subfield
Diffstat (limited to 'mac')
-rw-r--r--mac/arch.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/mac/arch.c b/mac/arch.c
index b9a629a1..80228dd1 100644
--- a/mac/arch.c
+++ b/mac/arch.c
@@ -297,21 +297,22 @@ pid_t arch_fork(run_t* run UNUSED) { return fork(); }
bool arch_launchChild(run_t* run) {
#define ARGS_MAX 512
- char* args[ARGS_MAX + 2];
+ const char* args[ARGS_MAX + 2];
char argData[PATH_MAX] = {0};
int x;
- for (x = 0; x < ARGS_MAX && run->global->cmdline[x]; x++) {
- if (!run->global->fuzzStdin && strcmp(run->global->cmdline[x], _HF_FILE_PLACEHOLDER) == 0) {
+ for (x = 0; x < ARGS_MAX && run->global->exe.cmdline[x]; x++) {
+ if (!run->global->exe.fuzzStdin &&
+ strcmp(run->global->exe.cmdline[x], _HF_FILE_PLACEHOLDER) == 0) {
args[x] = run->fileName;
- } else if (!run->global->fuzzStdin &&
- strstr(run->global->cmdline[x], _HF_FILE_PLACEHOLDER)) {
- const char* off = strstr(run->global->cmdline[x], _HF_FILE_PLACEHOLDER);
- snprintf(argData, PATH_MAX, "%.*s%s", (int)(off - run->global->cmdline[x]),
- run->global->cmdline[x], run->fileName);
+ } else if (!run->global->exe.fuzzStdin &&
+ strstr(run->global->exe.cmdline[x], _HF_FILE_PLACEHOLDER)) {
+ const char* off = strstr(run->global->exe.cmdline[x], _HF_FILE_PLACEHOLDER);
+ snprintf(argData, PATH_MAX, "%.*s%s", (int)(off - run->global->exe.cmdline[x]),
+ run->global->exe.cmdline[x], run->fileName);
args[x] = argData;
} else {
- args[x] = run->global->cmdline[x];
+ args[x] = run->global->exe.cmdline[x];
}
}
@@ -347,7 +348,7 @@ bool arch_launchChild(run_t* run) {
/* alarm persists across forks, so disable it here */
alarm(0);
- execvp(args[0], args);
+ execvp(args[0], (char* const*)args);
alarm(1);
return false;