aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/afl-forkserver.c36
-rw-r--r--src/afl-fuzz-run.c26
-rw-r--r--src/afl-performance.c4
-rw-r--r--src/afl-showmap.c4
4 files changed, 46 insertions, 24 deletions
diff --git a/src/afl-forkserver.c b/src/afl-forkserver.c
index bb7a6797..c5709b33 100644
--- a/src/afl-forkserver.c
+++ b/src/afl-forkserver.c
@@ -596,9 +596,9 @@ void afl_fsrv_start(afl_forkserver_t *fsrv, char **argv,
// this is not afl-fuzz - we deny and return
if (fsrv->use_shmem_fuzz)
- status = (FS_OPT_ENABLED | FS_OPT_AUTODICT | FS_OPT_SHDMEM_FUZZ);
+ status = (FS_OPT_ENABLED | FS_OPT_SHDMEM_FUZZ);
else
- status = (FS_OPT_ENABLED | FS_OPT_AUTODICT);
+ status = (FS_OPT_ENABLED);
if (write(fsrv->fsrv_ctl_fd, &status, 4) != 4) {
FATAL("Writing to forkserver failed.");
@@ -610,7 +610,12 @@ void afl_fsrv_start(afl_forkserver_t *fsrv, char **argv,
}
if (!be_quiet) { ACTF("Using AUTODICT feature."); }
- status = (FS_OPT_ENABLED | FS_OPT_AUTODICT);
+
+ if (fsrv->use_shmem_fuzz)
+ status = (FS_OPT_ENABLED | FS_OPT_AUTODICT | FS_OPT_SHDMEM_FUZZ);
+ else
+ status = (FS_OPT_ENABLED | FS_OPT_AUTODICT);
+
if (write(fsrv->fsrv_ctl_fd, &status, 4) != 4) {
FATAL("Writing to forkserver failed.");
@@ -862,16 +867,21 @@ void afl_fsrv_write_to_testcase(afl_forkserver_t *fsrv, u8 *buf, size_t len) {
*fsrv->shmem_fuzz_len = len;
memcpy(fsrv->shmem_fuzz, buf, len);
#ifdef _DEBUG
- fprintf(stderr, "FS crc: %08x len: %u\n",
- hash64(fsrv->shmem_fuzz, *fsrv->shmem_fuzz_len, 0xa5b35705),
- *fsrv->shmem_fuzz_len);
- fprintf(stderr, "SHM :");
- for (int i = 0; i < *fsrv->shmem_fuzz_len; i++)
- fprintf(stderr, "%02x", fsrv->shmem_fuzz[i]);
- fprintf(stderr, "\nORIG:");
- for (int i = 0; i < *fsrv->shmem_fuzz_len; i++)
- fprintf(stderr, "%02x", buf[i]);
- fprintf(stderr, "\n");
+ if (getenv("AFL_DEBUG")) {
+
+ fprintf(stderr, "FS crc: %016llx len: %u\n",
+ hash64(fsrv->shmem_fuzz, *fsrv->shmem_fuzz_len, 0xa5b35705),
+ *fsrv->shmem_fuzz_len);
+ fprintf(stderr, "SHM :");
+ for (int i = 0; i < *fsrv->shmem_fuzz_len; i++)
+ fprintf(stderr, "%02x", fsrv->shmem_fuzz[i]);
+ fprintf(stderr, "\nORIG:");
+ for (int i = 0; i < *fsrv->shmem_fuzz_len; i++)
+ fprintf(stderr, "%02x", buf[i]);
+ fprintf(stderr, "\n");
+
+ }
+
#endif
} else {
diff --git a/src/afl-fuzz-run.c b/src/afl-fuzz-run.c
index 52931a39..2a1664e2 100644
--- a/src/afl-fuzz-run.c
+++ b/src/afl-fuzz-run.c
@@ -156,16 +156,22 @@ static void write_with_gap(afl_state_t *afl, void *mem, u32 len, u32 skip_at,
*afl->fsrv.shmem_fuzz_len = len - skip_len;
#ifdef _DEBUG
- fprintf(stderr, "FS crc: %08x len: %u\n",
- hash64(fsrv->shmem_fuzz, *fsrv->shmem_fuzz_len, 0xa5b35705),
- *fsrv->shmem_fuzz_len);
- fprintf(stderr, "SHM :");
- for (int i = 0; i < *fsrv->shmem_fuzz_len; i++)
- fprintf(stderr, "%02x", fsrv->shmem_fuzz[i]);
- fprintf(stderr, "\nORIG:");
- for (int i = 0; i < *fsrv->shmem_fuzz_len; i++)
- fprintf(stderr, "%02x", buf[i]);
- fprintf(stderr, "\n");
+ if (afl->debug) {
+
+ fprintf(
+ stderr, "FS crc: %16llx len: %u\n",
+ hash64(afl->fsrv.shmem_fuzz, *afl->fsrv.shmem_fuzz_len, 0xa5b35705),
+ *afl->fsrv.shmem_fuzz_len);
+ fprintf(stderr, "SHM :");
+ for (int i = 0; i < *afl->fsrv.shmem_fuzz_len; i++)
+ fprintf(stderr, "%02x", afl->fsrv.shmem_fuzz[i]);
+ fprintf(stderr, "\nORIG:");
+ for (int i = 0; i < *afl->fsrv.shmem_fuzz_len; i++)
+ fprintf(stderr, "%02x", (u8)((u8 *)mem)[i]);
+ fprintf(stderr, "\n");
+
+ }
+
#endif
return;
diff --git a/src/afl-performance.c b/src/afl-performance.c
index 0832dc39..0c1697a8 100644
--- a/src/afl-performance.c
+++ b/src/afl-performance.c
@@ -143,8 +143,10 @@ void long_jump(afl_state_t *afl) {
#ifdef _DEBUG
u32 hash32(u8 *key, u32 len, u32 seed) {
+
#else
u32 inline hash32(u8 *key, u32 len, u32 seed) {
+
#endif
return (u32)XXH64(key, len, seed);
@@ -153,8 +155,10 @@ u32 inline hash32(u8 *key, u32 len, u32 seed) {
#ifdef _DEBUG
u64 hash64(u8 *key, u32 len, u64 seed) {
+
#else
u64 inline hash64(u8 *key, u32 len, u64 seed) {
+
#endif
return XXH64(key, len, seed);
diff --git a/src/afl-showmap.c b/src/afl-showmap.c
index 994d80eb..883398ff 100644
--- a/src/afl-showmap.c
+++ b/src/afl-showmap.c
@@ -985,10 +985,12 @@ int main(int argc, char **argv_orig, char **envp) {
if (read_file(infile)) {
- if (wait_for_gdb) {
+ if (wait_for_gdb) {
+
fprintf(stderr, "exec: gdb -p %d\n", fsrv->child_pid);
fprintf(stderr, "exec: kill -CONT %d\n", getpid());
kill(0, SIGSTOP);
+
}
showmap_run_target_forkserver(fsrv, use_argv, in_data, in_len);