aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2020-03-10 06:44:24 +0100
committervan Hauser <vh@thc.org>2020-03-10 06:44:24 +0100
commitf6787312346b66f52148f5daa8c5ffb08d92407f (patch)
treeaa8b6122c6f18a72fa7eacb9cd23db678aa2ef59 /src
parente04d2a6efab8c6501870961a0b4be35afddc45ae (diff)
downloadafl++-f6787312346b66f52148f5daa8c5ffb08d92407f.tar.gz
afl-tmin is fixed via default initialization in forkserver
Diffstat (limited to 'src')
-rw-r--r--src/afl-forkserver.c25
1 files changed, 17 insertions, 8 deletions
diff --git a/src/afl-forkserver.c b/src/afl-forkserver.c
index 60c84cde..087f89ac 100644
--- a/src/afl-forkserver.c
+++ b/src/afl-forkserver.c
@@ -135,15 +135,24 @@ void handle_timeout(int sig) {
void afl_fsrv_init(afl_forkserver_t *fsrv) {
- uint32_t i, j = 0;
-
- // this is the default and is != 0 so we need to set it if fsrv is still
- // uninitialized
- for (i = 0; i < sizeof(afl_forkserver_t) && j == 0; i++)
- if (((char*)fsrv)[i] != 0)
- j = 1;
- if (j == 0)
+ // this structure needs default so we initialize it if this was not done already
+
+ if (!fsrv->use_stdin) {
+
fsrv->use_stdin = 1;
+ fsrv->out_fd = -1;
+ fsrv->out_dir_fd = -1;
+ fsrv->dev_null_fd = -1;
+#ifndef HAVE_ARC4RANDOM
+ fsrv->dev_urandom_fd = -1;
+#endif
+ fsrv->exec_tmout = EXEC_TIMEOUT;
+ fsrv->mem_limit = MEM_LIMIT;
+ fsrv->child_pid = -1;
+ fsrv->out_dir_fd = -1;
+
+ }
+
list_append(&fsrv_list, fsrv);
}