Commit Graph

79 Commits

Author SHA1 Message Date
e1082f2548 welcome 2022 2022-01-01 00:49:17 +01:00
ce0edcff2e Merge pull request #1186 from eternalsakura/stable
[fix] Fix custom mutator trim bug
2021-11-29 11:44:16 +01:00
655b63d2b2 [fix] Custom mutator does not implement all three trim APIs, standard trimming will be used, but now the actual implementation does not match the description, fix this problem 2021-11-28 22:28:38 +08:00
9325a4fcbb http->https 2021-11-06 10:28:22 +01:00
fff8c49f7c Merge pull request #1034 from AFLplusplus/grammatron
Grammatron
2021-07-20 08:57:37 +02:00
b5422c1a52 fix custom trimming 2021-07-15 16:05:38 +02:00
8d873357a3 fix "fix" 2021-07-15 15:53:22 +02:00
37fff16a36 update custom trim 2021-07-11 17:26:39 +02:00
d354ec2586 more fixes 2021-07-09 11:39:25 +02:00
50af4654e3 code-format 2021-05-10 13:46:31 +02:00
1d9a3d955c Fix memory errors when trim causes testcase growth (#881) (#903)
* 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.
2021-05-07 00:14:16 +02:00
e9d2f72382 fixed potential double free in custom trim (#881) 2021-04-30 13:37:59 +02:00
86a8ef168d fix custom trim for increasing data 2021-04-19 11:05:49 +02:00
dfe6f7f8c9 make setting different file permissions easy via config.h 2021-03-23 20:21:08 +01:00
ac1117ffae android: Fix runtime for mutator 2021-01-20 15:46:41 +08:00
6c095b3937 code format 2021-01-04 23:13:56 +01:00
c6e038fe25 code cleanups (shadowed vars, (un)signed type mismatches, format types, etc.) 2021-01-04 20:40:53 +01:00
a19b3022d9 afl_custom_describe api added 2020-12-04 14:26:47 +01:00
8e1047f5ef support custom mutator introspection 2020-11-10 14:08:21 +01:00
2802245da7 update instrumenation/README.instrument_file.md for gcc_plugin 2020-09-08 17:15:32 +02:00
c7f0d30668 added afl_custom_fuzz_count 2020-08-24 17:32:41 +02:00
7470b475a9 Reworked maybe_grow to take a single ptr, renamed to afl_realloc (#505)
* maybe_grow takes a single ptr

* fixed use_deflate

* reworked maybe_grow_bufsize

* helper to access underlying buf

* remove redundant realloc_block

* code format

* fixes

* added unit tests

* renamed maybe_grow to afl_realloc

* BUF_PARAMS -> AFL_BUF_PARAM
2020-08-18 00:50:52 +02:00
9a1d526ed4 Add support for specific custom mutator name 2020-08-08 18:34:54 +02:00
630d2a934b less gotos 2020-07-31 14:36:58 +02:00
952e5b47eb allow custom mut with mopt if -L is -1 2020-07-28 16:02:15 +02:00
16e362d2b9 add last 60s exec/s stat 2020-07-26 15:55:03 +02:00
7e4703c328 Fix typo for afl_custom_deinit (#470) 2020-07-26 14:10:24 +02:00
d90328f6be Allow the custom mutator to generate larger trimmed data (#463) 2020-07-22 00:00:21 +02:00
6c163910ee debug test for rng 2020-07-20 12:08:31 +02:00
67d2e6319b Skip the empty test case generated by the custom trimming 2020-07-18 23:20:32 -04:00
8178f4dfdd remove radamsa, add radamsa custom mutator 2020-06-25 16:51:29 +02:00
a632c00b0d switch to faster and better hash + random 2020-06-12 16:08:49 +02:00
57637ba0b0 removed overlooked post_lib references, added post_lib examples to examples/custom_mutators 2020-05-15 13:39:42 +02:00
60a5df5262 code-format and slight -S/-M modifications 2020-05-13 16:49:00 +02:00
9627458ecc Add post library API as custom mutator and rename pre_save 2020-05-13 18:59:12 +05:30
060f4ea320 enforce mandatary custom functions 2020-05-12 17:05:12 +02:00
6177954773 fix custom mutators and add real test cases 2020-05-12 16:32:40 +02:00
fa84e52af0 custom mutator code enhancements and code-format 2020-05-09 11:35:54 +02:00
190f3024da Support multiple custom mutators (#282)
* 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
2020-05-08 20:08:27 +02:00
ce15937717 code format 2020-04-20 21:54:55 +02:00
8197e9b2e4 clang-tidy readability-braces (#323) 2020-04-19 16:42:40 +02:00
1ee224652c libradamsa fix 2020-04-16 16:05:39 +02:00
b10007a7b5 renamed duplicated func names 2020-04-16 15:32:04 +02:00
6dc36f1e6e unified forkservered run_target, fixes #308 2020-04-14 19:27:25 +02:00
32ba60185e more refactoring and update changelog 2020-04-11 08:02:54 +02:00
29ee3a1ffc refactored cmplog 2020-04-11 01:09:07 +02:00
3a509c6168 LTO optimization, variable map size, autodictionary (#307)
* 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
2020-04-10 22:33:11 +02:00
508230e91b code format 2020-04-01 13:10:07 +02:00
1e290542bb rebase 2020-04-01 13:10:06 +02:00
98545f30aa code format 2020-04-01 13:10:06 +02:00