mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-14 02:58:08 +00:00
little more speed for queue analysis
This commit is contained in:
@ -4,9 +4,9 @@
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
Release Version: [2.63c](https://github.com/AFLplusplus/AFLplusplus/releases)
|
Release Version: [2.64c](https://github.com/AFLplusplus/AFLplusplus/releases)
|
||||||
|
|
||||||
Github Version: 2.63d
|
Github Version: 2.64d
|
||||||
|
|
||||||
includes all necessary/interesting changes from Google's afl 2.56b
|
includes all necessary/interesting changes from Google's afl 2.56b
|
||||||
|
|
||||||
|
@ -608,9 +608,10 @@ typedef struct afl_state {
|
|||||||
u8 * ex_buf;
|
u8 * ex_buf;
|
||||||
size_t ex_size;
|
size_t ex_size;
|
||||||
|
|
||||||
|
/* this is a fixed buffer of size map_size that can be used by any function if they do not call another function */
|
||||||
u8 * map_tmp_buf;
|
u8 * map_tmp_buf;
|
||||||
size_t map_tmp_size;
|
size_t map_tmp_len;
|
||||||
|
|
||||||
} afl_state_t;
|
} afl_state_t;
|
||||||
|
|
||||||
/* A global pointer to all instances is needed (for now) for signals to arrive
|
/* A global pointer to all instances is needed (for now) for signals to arrive
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
/* Version string: */
|
/* Version string: */
|
||||||
|
|
||||||
// c = release, d = volatile github dev, e = experimental branch
|
// c = release, d = volatile github dev, e = experimental branch
|
||||||
#define VERSION "++2.63d"
|
#define VERSION "++2.64c"
|
||||||
|
|
||||||
/******************************************************
|
/******************************************************
|
||||||
* *
|
* *
|
||||||
|
@ -271,12 +271,10 @@ void cull_queue(afl_state_t *afl) {
|
|||||||
struct queue_entry *q;
|
struct queue_entry *q;
|
||||||
u32 len = (afl->fsrv.map_size >> 3);
|
u32 len = (afl->fsrv.map_size >> 3);
|
||||||
u32 i;
|
u32 i;
|
||||||
u8 * temp_v;
|
u8 * temp_v = afl->map_tmp_buf;
|
||||||
|
|
||||||
if (afl->dumb_mode || !afl->score_changed) return;
|
if (afl->dumb_mode || !afl->score_changed) return;
|
||||||
|
|
||||||
temp_v = ck_maybe_grow((void **)&afl->map_tmp_buf, &afl->map_tmp_size, afl->fsrv.map_size >> 3);
|
|
||||||
|
|
||||||
afl->score_changed = 0;
|
afl->score_changed = 0;
|
||||||
|
|
||||||
memset(temp_v, 255, len);
|
memset(temp_v, 255, len);
|
||||||
|
@ -107,6 +107,8 @@ void afl_state_init(afl_state_t *afl, uint32_t map_size) {
|
|||||||
afl->clean_trace = ck_alloc(map_size);
|
afl->clean_trace = ck_alloc(map_size);
|
||||||
afl->clean_trace_custom = ck_alloc(map_size);
|
afl->clean_trace_custom = ck_alloc(map_size);
|
||||||
afl->first_trace = ck_alloc(map_size);
|
afl->first_trace = ck_alloc(map_size);
|
||||||
|
afl->map_tmp_buf = ck_alloc(map_size);
|
||||||
|
afl->map_tmp_len = map_size;
|
||||||
|
|
||||||
afl->fsrv.use_stdin = 1;
|
afl->fsrv.use_stdin = 1;
|
||||||
afl->fsrv.map_size = map_size;
|
afl->fsrv.map_size = map_size;
|
||||||
@ -389,6 +391,7 @@ void afl_state_deinit(afl_state_t *afl) {
|
|||||||
ck_free(afl->clean_trace);
|
ck_free(afl->clean_trace);
|
||||||
ck_free(afl->clean_trace_custom);
|
ck_free(afl->clean_trace_custom);
|
||||||
ck_free(afl->first_trace);
|
ck_free(afl->first_trace);
|
||||||
|
ck_free(afl->map_tmp_buf);
|
||||||
|
|
||||||
list_remove(&afl_states, afl);
|
list_remove(&afl_states, afl);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user