diff options
author | Robert Swiecki <robert@swiecki.net> | 2017-11-09 01:30:54 +0100 |
---|---|---|
committer | Robert Swiecki <robert@swiecki.net> | 2017-11-09 01:30:54 +0100 |
commit | b0e261a0840d94855d3986bac47319108cd12f67 (patch) | |
tree | 0196e1b330664ad165dedead2dc610ecd6638823 | |
parent | 711afa826be527164a68e3221b79b95548efd4a3 (diff) | |
download | honggfuzz-b0e261a0840d94855d3986bac47319108cd12f67.tar.gz |
fuzz: use TAILQ, as CIRCLEQ is not present under all supported OSes
-rw-r--r-- | cmdline.c | 2 | ||||
-rw-r--r-- | fuzz.c | 11 | ||||
-rw-r--r-- | honggfuzz.h | 4 |
3 files changed, 8 insertions, 9 deletions
@@ -250,7 +250,7 @@ bool cmdlineParse(int argc, char* argv[], honggfuzz_t* hfuzz) }, }; - CIRCLEQ_INIT(&hfuzz->dynfileq); + TAILQ_INIT(&hfuzz->dynfileq); TAILQ_INIT(&hfuzz->dictq); // clang-format off @@ -79,13 +79,12 @@ static bool fuzz_prepareFileDynamically(honggfuzz_t* hfuzz, fuzzer_t* fuzzer) "coverage and/or CPU counters"); } - if (fuzzer->dynfileqCurrent == NULL) { - fuzzer->dynfileqCurrent = CIRCLEQ_FIRST(&hfuzz->dynfileq); + if (fuzzer->dynfileqCurrent == NULL + || fuzzer->dynfileqCurrent == TAILQ_LAST(&hfuzz->dynfileq, dyns_t)) { + fuzzer->dynfileqCurrent = TAILQ_FIRST(&hfuzz->dynfileq); } - dynfile = fuzzer->dynfileqCurrent; - fuzzer->dynfileqCurrent - = CIRCLEQ_LOOP_NEXT(&hfuzz->dynfileq, fuzzer->dynfileqCurrent, pointers); + fuzzer->dynfileqCurrent = TAILQ_NEXT(fuzzer->dynfileqCurrent, pointers); } memcpy(fuzzer->dynamicFile, dynfile->data, dynfile->size); @@ -360,7 +359,7 @@ static void fuzz_addFileToFileQ(honggfuzz_t* hfuzz, fuzzer_t* fuzzer) memcpy(dynfile->data, fuzzer->dynamicFile, fuzzer->dynamicFileSz); MX_SCOPED_RWLOCK_WRITE(&hfuzz->dynfileq_mutex); - CIRCLEQ_INSERT_TAIL(&hfuzz->dynfileq, dynfile, pointers); + TAILQ_INSERT_TAIL(&hfuzz->dynfileq, dynfile, pointers); hfuzz->dynfileqCnt++; /* No need to add new coverage if we are supposed to append new coverage-inducing inputs only */ diff --git a/honggfuzz.h b/honggfuzz.h index 2b9d6735..eb63b258 100644 --- a/honggfuzz.h +++ b/honggfuzz.h @@ -145,7 +145,7 @@ typedef enum { struct dynfile_t { uint8_t* data; size_t size; - CIRCLEQ_ENTRY(dynfile_t) + TAILQ_ENTRY(dynfile_t) pointers; }; @@ -219,7 +219,7 @@ typedef struct { int bbFd; size_t dynfileqCnt; - CIRCLEQ_HEAD(dyns_t, dynfile_t) dynfileq; + TAILQ_HEAD(dyns_t, dynfile_t) dynfileq; pthread_rwlock_t dynfileq_mutex; pthread_mutex_t feedback_mutex; |