Skip to content
Snippets Groups Projects
Commit c34c3e2f authored by Sergej Schumilo's avatar Sergej Schumilo
Browse files

add some sanity checks and remove duplicate nyx_shutdown calls

parent 4f6ec6cb
Branches update_init
No related tags found
No related merge requests found
...@@ -555,14 +555,12 @@ void afl_fsrv_start(afl_forkserver_t *fsrv, char **argv, ...@@ -555,14 +555,12 @@ void afl_fsrv_start(afl_forkserver_t *fsrv, char **argv,
switch (fsrv->nyx_handlers->nyx_exec(fsrv->nyx_runner)) { switch (fsrv->nyx_handlers->nyx_exec(fsrv->nyx_runner)) {
case Abort: case Abort:
fsrv->nyx_handlers->nyx_shutdown(fsrv->nyx_runner);
FATAL("Error: Nyx abort occured..."); FATAL("Error: Nyx abort occured...");
break; break;
case IoError: case IoError:
FATAL("Error: QEMU-Nyx has died..."); FATAL("Error: QEMU-Nyx has died...");
break; break;
case Error: case Error:
fsrv->nyx_handlers->nyx_shutdown(fsrv->nyx_runner);
FATAL("Error: Nyx runtime error has occured..."); FATAL("Error: Nyx runtime error has occured...");
break; break;
default: default:
...@@ -1293,8 +1291,14 @@ void afl_fsrv_kill(afl_forkserver_t *fsrv) { ...@@ -1293,8 +1291,14 @@ void afl_fsrv_kill(afl_forkserver_t *fsrv) {
#ifdef __linux__ #ifdef __linux__
if (fsrv->nyx_mode) { if (fsrv->nyx_mode) {
free(fsrv->nyx_aux_string); if (fsrv->nyx_aux_string){
fsrv->nyx_handlers->nyx_shutdown(fsrv->nyx_runner); free(fsrv->nyx_aux_string);
}
/* check if we actually got a valid nyx runner */
if (fsrv->nyx_runner) {
fsrv->nyx_handlers->nyx_shutdown(fsrv->nyx_runner);
}
} }
...@@ -1474,7 +1478,6 @@ afl_fsrv_run_target(afl_forkserver_t *fsrv, u32 timeout, ...@@ -1474,7 +1478,6 @@ afl_fsrv_run_target(afl_forkserver_t *fsrv, u32 timeout,
FATAL("FixMe: Nyx InvalidWriteToPayload handler is missing"); FATAL("FixMe: Nyx InvalidWriteToPayload handler is missing");
break; break;
case Abort: case Abort:
fsrv->nyx_handlers->nyx_shutdown(fsrv->nyx_runner);
FATAL("Error: Nyx abort occured..."); FATAL("Error: Nyx abort occured...");
case IoError: case IoError:
if (*stop_soon_p) { if (*stop_soon_p) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment