aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/afl-fuzz-queue.c4
-rw-r--r--src/afl-fuzz.c90
2 files changed, 49 insertions, 45 deletions
diff --git a/src/afl-fuzz-queue.c b/src/afl-fuzz-queue.c
index a28172f9..6069f5b9 100644
--- a/src/afl-fuzz-queue.c
+++ b/src/afl-fuzz-queue.c
@@ -401,7 +401,9 @@ void mark_as_redundant(afl_state_t *afl, struct queue_entry *q, u8 state) {
} else {
- if (unlink(fn)) { /*PFATAL("Unable to remove '%s'", fn);*/ }
+ if (unlink(fn)) { /*PFATAL("Unable to remove '%s'", fn);*/
+
+ }
}
diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c
index 2bfbee15..a09a53ec 100644
--- a/src/afl-fuzz.c
+++ b/src/afl-fuzz.c
@@ -3214,64 +3214,66 @@ stop_fuzzing:
#endif
if (!afl->afl_env.afl_no_fastresume) {
- /* create fastresume.bin */
- u8 fr[PATH_MAX];
- snprintf(fr, PATH_MAX, "%s/fastresume.bin", afl->out_dir);
- ACTF("Writing %s ...", fr);
- if ((fr_fd = open(fr, O_WRONLY | O_TRUNC | O_CREAT, DEFAULT_PERMISSION)) >=
- 0) {
-
- u8 ver_string[8];
- u32 w = 0;
- u64 *ver = (u64 *)ver_string;
- *ver = afl->shm.cmplog_mode + (sizeof(struct queue_entry) << 1);
-
- w += write(fr_fd, ver_string, sizeof(ver_string));
-
- w += write(fr_fd, afl->virgin_bits, afl->fsrv.map_size);
- w += write(fr_fd, afl->virgin_tmout, afl->fsrv.map_size);
- w += write(fr_fd, afl->virgin_crash, afl->fsrv.map_size);
- w += write(fr_fd, afl->var_bytes, afl->fsrv.map_size);
-
- u8 on[1] = {1}, off[1] = {0};
- u8 *o_start = (u8 *)&(afl->queue_buf[0]->colorized);
- u8 *o_end = (u8 *)&(afl->queue_buf[0]->mother);
- u32 q_len = o_end - o_start;
- u32 m_len = (afl->fsrv.map_size >> 3);
- struct queue_entry *q;
- afl->pending_not_fuzzed = afl->queued_items;
- afl->active_items = afl->queued_items;
+ /* create fastresume.bin */
+ u8 fr[PATH_MAX];
+ snprintf(fr, PATH_MAX, "%s/fastresume.bin", afl->out_dir);
+ ACTF("Writing %s ...", fr);
+ if ((fr_fd = open(fr, O_WRONLY | O_TRUNC | O_CREAT, DEFAULT_PERMISSION)) >=
+ 0) {
- for (u32 i = 0; i < afl->queued_items; i++) {
+ u8 ver_string[8];
+ u32 w = 0;
+ u64 *ver = (u64 *)ver_string;
+ *ver = afl->shm.cmplog_mode + (sizeof(struct queue_entry) << 1);
- q = afl->queue_buf[i];
- ck_write(fr_fd, (u8 *)&(q->colorized), q_len, "queue data");
- if (!q->trace_mini) {
+ w += write(fr_fd, ver_string, sizeof(ver_string));
- ck_write(fr_fd, off, 1, "no_mini");
- w += q_len + 1;
+ w += write(fr_fd, afl->virgin_bits, afl->fsrv.map_size);
+ w += write(fr_fd, afl->virgin_tmout, afl->fsrv.map_size);
+ w += write(fr_fd, afl->virgin_crash, afl->fsrv.map_size);
+ w += write(fr_fd, afl->var_bytes, afl->fsrv.map_size);
- } else {
+ u8 on[1] = {1}, off[1] = {0};
+ u8 *o_start = (u8 *)&(afl->queue_buf[0]->colorized);
+ u8 *o_end = (u8 *)&(afl->queue_buf[0]->mother);
+ u32 q_len = o_end - o_start;
+ u32 m_len = (afl->fsrv.map_size >> 3);
+ struct queue_entry *q;
+
+ afl->pending_not_fuzzed = afl->queued_items;
+ afl->active_items = afl->queued_items;
- ck_write(fr_fd, on, 1, "yes_mini");
- ck_write(fr_fd, q->trace_mini, m_len, "trace_mini");
- w += q_len + m_len + 1;
+ for (u32 i = 0; i < afl->queued_items; i++) {
+
+ q = afl->queue_buf[i];
+ ck_write(fr_fd, (u8 *)&(q->colorized), q_len, "queue data");
+ if (!q->trace_mini) {
+
+ ck_write(fr_fd, off, 1, "no_mini");
+ w += q_len + 1;
+
+ } else {
+
+ ck_write(fr_fd, on, 1, "yes_mini");
+ ck_write(fr_fd, q->trace_mini, m_len, "trace_mini");
+ w += q_len + m_len + 1;
+
+ }
}
- }
+ close(fr_fd);
+ afl->var_byte_count = count_bytes(afl, afl->var_bytes);
+ OKF("Written fastresume.bin with %u bytes!", w);
- close(fr_fd);
- afl->var_byte_count = count_bytes(afl, afl->var_bytes);
- OKF("Written fastresume.bin with %u bytes!", w);
+ } else {
- } else {
+ WARNF("Could not create fastresume.bin");
- WARNF("Could not create fastresume.bin");
+ }
}
- }
destroy_queue(afl);
destroy_extras(afl);