diff options
author | van Hauser <vh@thc.org> | 2023-04-17 10:26:33 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-17 10:26:33 +0200 |
commit | a326c23210dc2ace37bf1cadcc4521cf5d0b58cb (patch) | |
tree | 5e97dc274212181cd0117057492bce84809e1a4d /custom_mutators/examples/simple_example.c | |
parent | 4f2d9eeaaa6b702ef28eb883f9000321eaf1fe9b (diff) | |
parent | 7f734c96d187312868178e8ead95dc103c557c1f (diff) | |
download | afl++-a326c23210dc2ace37bf1cadcc4521cf5d0b58cb.tar.gz |
Merge pull request #1706 from AFLplusplus/dev 4.06c
push to stable, 4.06c release
Diffstat (limited to 'custom_mutators/examples/simple_example.c')
-rw-r--r-- | custom_mutators/examples/simple_example.c | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/custom_mutators/examples/simple_example.c b/custom_mutators/examples/simple_example.c index d888ec1f..2c0abe29 100644 --- a/custom_mutators/examples/simple_example.c +++ b/custom_mutators/examples/simple_example.c @@ -1,6 +1,6 @@ // This simple example just creates random buffer <= 100 filled with 'A' // needs -I /path/to/AFLplusplus/include -#include "custom_mutator_helpers.h" +#include "afl-fuzz.h" #include <stdint.h> #include <stdlib.h> @@ -13,14 +13,14 @@ typedef struct my_mutator { - afl_t *afl; + afl_state_t *afl; // Reused buffers: - BUF_VAR(u8, fuzz); + u8 *fuzz_buf; } my_mutator_t; -my_mutator_t *afl_custom_init(afl_t *afl, unsigned int seed) { +my_mutator_t *afl_custom_init(afl_state_t *afl, unsigned int seed) { srand(seed); my_mutator_t *data = calloc(1, sizeof(my_mutator_t)); @@ -31,6 +31,14 @@ my_mutator_t *afl_custom_init(afl_t *afl, unsigned int seed) { } + data->fuzz_buf = (u8 *)malloc(MAX_FILE); + if (!data->fuzz_buf) { + + perror("afl_custom_init malloc"); + return NULL; + + } + data->afl = afl; return data; @@ -44,18 +52,10 @@ size_t afl_custom_fuzz(my_mutator_t *data, uint8_t *buf, size_t buf_size, int size = (rand() % 100) + 1; if (size > max_size) size = max_size; - u8 *mutated_out = maybe_grow(BUF_PARAMS(data, fuzz), size); - if (!mutated_out) { - - *out_buf = NULL; - perror("custom mutator allocation (maybe_grow)"); - return 0; /* afl-fuzz will very likely error out after this. */ - - } - memset(mutated_out, _FIXED_CHAR, size); + memset(data->fuzz_buf, _FIXED_CHAR, size); - *out_buf = mutated_out; + *out_buf = data->fuzz_buf; return size; } |