* Revert "fixed potential double free in custom trim (#881)"
This reverts commit e9d2f72382.
* Revert "fix custom trim for increasing data"
This reverts commit 86a8ef168d.
* Fix memory errors when trim causes testcase growth
Modify trim_case_custom to avoid writing into in_buf because
some custom mutators can cause the testcase to grow rather than
shrink.
Instead of modifying in_buf directly, we write the update out
to the disk when trimming is complete, and then the caller is
responsible for refreshing the in-memory buffer from the file.
This is still a bit sketchy because it does need to modify q->len in
order to notify the upper layers that something changed, and it could
end up telling upper layer code that the q->len is *bigger* than
the buffer (q->testcase_buf) that contains it, which is asking
for trouble down the line somewhere...
* Fix an unlikely situation
Put back some `unlikely()` calls that were in
the e9d2f72382 commit that was
reverted.
* Make a list of custom mutators using env variable
* Set up multiple custom mutators
* Add destroy custom mutator and changes to load_custom_mutator
* Use array instead of list, make changes to afl-fuzz-one for multiple mutators
* Make change to fuzz-one custom_queue_get to support multiple mutators
* Modify custom python mutator support
* Fix bug
* Fix missing afl->mutator->data
* Revert to list with max count
* Change custom_pre_save hook and code format
* Free custom_mutator struct in the list
* Add testcase for multiple custom mutators
* Resolve merge conflict
* lto module clean-up
* step 1/3
* step 1/3 completed
* if tmp is ever made non-static
* parts 2 and 3 - autodictionary is complete
* variable map_size support
* variable map size: changed overlooked functions
* remove debug for autodict
* 64 bit alignment of map size
* fix review comments
* force 64 bit alignment on both sides
* typo