aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Maier <domenukk@gmail.com>2020-11-18 02:33:47 +0100
committerDominik Maier <domenukk@gmail.com>2020-11-18 02:33:47 +0100
commit23f37ff5054d77abf7baf7b6d01d660b435d81cd (patch)
tree0412df3e83e34fdf27d5fa9498ddfb95a43bfa7f
parent54fdec0e51d17ac47582ca23c32ce10da5591aa2 (diff)
downloadafl++-23f37ff5054d77abf7baf7b6d01d660b435d81cd.tar.gz
fixed alloc errors, code format
-rw-r--r--examples/afl_network_proxy/afl-network-server.c8
-rw-r--r--include/alloc-inl.h11
-rw-r--r--src/afl-cc.c6
-rw-r--r--src/afl-fuzz-python.c6
-rw-r--r--src/afl-fuzz-queue.c7
-rw-r--r--src/afl-fuzz.c2
6 files changed, 25 insertions, 15 deletions
diff --git a/examples/afl_network_proxy/afl-network-server.c b/examples/afl_network_proxy/afl-network-server.c
index 75eb3d20..3831f985 100644
--- a/examples/afl_network_proxy/afl-network-server.c
+++ b/examples/afl_network_proxy/afl-network-server.c
@@ -358,8 +358,8 @@ int recv_testcase(int s, void **buf) {
if ((size & 0xff000000) != 0xff000000) {
- *buf = afl_realloc((void **)&buf, size);
- if (unlikely(!buf)) { PFATAL("Alloc"); }
+ *buf = afl_realloc(buf, size);
+ if (unlikely(!*buf)) { PFATAL("Alloc"); }
received = 0;
// fprintf(stderr, "unCOMPRESS (%u)\n", size);
while (received < size &&
@@ -371,8 +371,8 @@ int recv_testcase(int s, void **buf) {
#ifdef USE_DEFLATE
u32 clen;
size -= 0xff000000;
- *buf = afl_realloc((void **)&buf, size);
- if (unlikely(!buf)) { PFATAL("Alloc"); }
+ *buf = afl_realloc(buf, size);
+ if (unlikely(!*buf)) { PFATAL("Alloc"); }
received = 0;
while (received < 4 &&
(ret = recv(s, &clen + received, 4 - received, 0)) > 0)
diff --git a/include/alloc-inl.h b/include/alloc-inl.h
index a6194f86..68255fb6 100644
--- a/include/alloc-inl.h
+++ b/include/alloc-inl.h
@@ -694,10 +694,11 @@ static inline void *afl_realloc(void **buf, size_t size_needed) {
}
/* alloc */
- struct afl_alloc_buf *newer_buf = (struct afl_alloc_buf *)realloc(new_buf, next_size);
+ struct afl_alloc_buf *newer_buf =
+ (struct afl_alloc_buf *)realloc(new_buf, next_size);
if (unlikely(!newer_buf)) {
- free(new_buf); // avoid a leak
+ free(new_buf); // avoid a leak
*buf = NULL;
return NULL;
@@ -707,7 +708,6 @@ static inline void *afl_realloc(void **buf, size_t size_needed) {
}
-
new_buf->complete_size = next_size;
*buf = (void *)(new_buf->buf);
return *buf;
@@ -736,10 +736,11 @@ static inline void *afl_realloc_exact(void **buf, size_t size_needed) {
if (unlikely(current_size == size_needed)) { return *buf; }
/* alloc */
- struct afl_alloc_buf *newer_buf = (struct afl_alloc_buf *)realloc(new_buf, size_needed);
+ struct afl_alloc_buf *newer_buf =
+ (struct afl_alloc_buf *)realloc(new_buf, size_needed);
if (unlikely(!newer_buf)) {
- free(new_buf); // avoid a leak
+ free(new_buf); // avoid a leak
*buf = NULL;
return NULL;
diff --git a/src/afl-cc.c b/src/afl-cc.c
index ef4d2c74..9c23c18b 100644
--- a/src/afl-cc.c
+++ b/src/afl-cc.c
@@ -1327,9 +1327,11 @@ int main(int argc, char **argv, char **envp) {
"filename\n");
#if LLVM_MAJOR < 9
-#define COUNTER_BEHAVIOUR " AFL_LLVM_NOT_ZERO: use cycling trace counters that skip zero\n"
+ #define COUNTER_BEHAVIOUR \
+ " AFL_LLVM_NOT_ZERO: use cycling trace counters that skip zero\n"
#else
-#define COUNTER_BEHAVIOUR " AFL_LLVM_SKIP_NEVERZERO: do not skip zero on trace counters\n"
+ #define COUNTER_BEHAVIOUR \
+ " AFL_LLVM_SKIP_NEVERZERO: do not skip zero on trace counters\n"
#endif
if (have_llvm)
SAYF(
diff --git a/src/afl-fuzz-python.c b/src/afl-fuzz-python.c
index cfaf055d..80532774 100644
--- a/src/afl-fuzz-python.c
+++ b/src/afl-fuzz-python.c
@@ -96,7 +96,7 @@ static size_t fuzz_py(void *py_mutator, u8 *buf, size_t buf_size, u8 **out_buf,
mutated_size = PyByteArray_Size(py_value);
*out_buf = afl_realloc(BUF_PARAMS(fuzz), mutated_size);
- if (unlikely(!out_buf)) { PFATAL("alloc"); }
+ if (unlikely(!*out_buf)) { PFATAL("alloc"); }
memcpy(*out_buf, PyByteArray_AsString(py_value), mutated_size);
Py_DECREF(py_value);
@@ -579,7 +579,7 @@ size_t trim_py(void *py_mutator, u8 **out_buf) {
ret = PyByteArray_Size(py_value);
*out_buf = afl_realloc(BUF_PARAMS(trim), ret);
- if (unlikely(!out_buf)) { PFATAL("alloc"); }
+ if (unlikely(!*out_buf)) { PFATAL("alloc"); }
memcpy(*out_buf, PyByteArray_AsString(py_value), ret);
Py_DECREF(py_value);
@@ -645,7 +645,7 @@ size_t havoc_mutation_py(void *py_mutator, u8 *buf, size_t buf_size,
/* A new buf is needed... */
*out_buf = afl_realloc(BUF_PARAMS(havoc), mutated_size);
- if (unlikely(!out_buf)) { PFATAL("alloc"); }
+ if (unlikely(!*out_buf)) { PFATAL("alloc"); }
}
diff --git a/src/afl-fuzz-queue.c b/src/afl-fuzz-queue.c
index c78df8be..32bed06f 100644
--- a/src/afl-fuzz-queue.c
+++ b/src/afl-fuzz-queue.c
@@ -56,7 +56,12 @@ void create_alias_table(afl_state_t *afl) {
int * S = (u32 *)afl_realloc(AFL_BUF_PARAM(out_scratch), n * sizeof(u32));
int * L = (u32 *)afl_realloc(AFL_BUF_PARAM(in_scratch), n * sizeof(u32));
- if (!P || !S || !L) { FATAL("could not aquire memory for alias table"); }
+ if (!P || !S || !L || !afl->alias_table || !afl->alias_probability) {
+
+ FATAL("could not aquire memory for alias table");
+
+ }
+
memset((void *)afl->alias_table, 0, n * sizeof(u32));
memset((void *)afl->alias_probability, 0, n * sizeof(double));
diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c
index cedfdf8f..ac77bb1f 100644
--- a/src/afl-fuzz.c
+++ b/src/afl-fuzz.c
@@ -350,6 +350,7 @@ int main(int argc, char **argv_orig, char **envp) {
case 's': {
+ if (optarg == NULL) { FATAL("No valid seed provided. Got NULL."); }
rand_set_seed(afl, strtoul(optarg, 0L, 10));
afl->fixed_seed = 1;
break;
@@ -419,6 +420,7 @@ int main(int argc, char **argv_orig, char **envp) {
case 'i': /* input dir */
if (afl->in_dir) { FATAL("Multiple -i options not supported"); }
+ if (afl->in_dir == NULL) { FATAL("Invalid -i option (got NULL)."); }
afl->in_dir = optarg;
if (!strcmp(afl->in_dir, "-")) { afl->in_place_resume = 1; }