912 Commits

Author SHA1 Message Date
Kuang-che Wu
2e7f191f3b extract function to resize map buffers 2025-05-25 09:33:34 +08:00
van Hauser
be00ea9f00
Merge pull request #2446 from kcwu/fix-save_if_interesting
fix save_if_interesting
2025-05-24 12:43:26 +02:00
Kuang-che Wu
55d534cd6d extract function afl_fsrv_setup_preload 2025-05-23 10:39:03 +08:00
Kuang-che Wu
cee764689c fix save_if_interesting
The value of `classified`, `bits_new`, and `cksum`, were not always
correctly maintained.
 1. In the past, `afl->queue_top->exec_cksum` was always assigned when
    `add_to_queue`, however it became conditional since cd5764170595.
    This doesn't change correctness because calibrate_case() will
    calculate the checksum. However, this mean one calibration run is
    wasted.

 2. Sometimes `classified` is set incorrectly.
    For example, this code snippet
    ```
    new_bits = has_new_bits_unclassified(afl, afl->virgin_bits);
    classified = 1;
    ```
    should be changed to
    ```
    new_bits = has_new_bits_unclassified(afl, afl->virgin_bits);
    if (new_bits) classified = 1;
    ```

This commit fixed above issues and use macros to make the code easier to
understand. This should prevent to forget to set classified in the
future (like the bug fixed by 30c93d132166).

The macros also defers the calculations to where the values are really
needed. This could save cpu if the code returns earlier. For example,
if a case is timeout first and not timeout the second time, the current
code does classify_counts, which is not always needed.
2025-05-22 23:14:40 +08:00
vanhauser-thc
c3d5f3f471 skip entried synced from us if we have not restarted 2025-05-20 17:07:30 +02:00
Kuang-che Wu
c699aa252d reduce overhead 2025-05-19 18:53:22 +08:00
vanhauser-thc
3ee3b5c384 code format 2025-05-17 00:05:31 +02:00
Dominik Maier
6dcd0aa089
Add env variable SHM_FUZZ_MAP_SIZE (#2430)
* Add env variable SHM_FUZZ_PAGE_SIZE to tell the forkserver about the max shm input size

* fix

* PAGE_SIZE->MAP_SIZE

* fix more nits

* More cleanup
2025-05-16 12:14:58 +02:00
vanhauser-thc
9e4449bad2 code format 2025-05-13 10:51:56 +02:00
van Hauser
6d4a56e481
Merge pull request #2421 from wtdcode/rename-afl-san-no-inst
Rename `AFL_SAN_NO_INST` to `AFL_FSRV_ONLY`
2025-05-13 10:51:08 +02:00
vanhauser-thc
221439fc7a fix foreign sync naming 2025-05-13 10:42:26 +02:00
mio
fca39a6ec3
implement AFL_GCC_ONLY_FSRV 2025-05-13 16:15:11 +08:00
mio
9476204da0
rename to AFL_LLVM_ONLY_FSRV 2025-05-13 15:45:33 +08:00
mio
f3995d5225
rename AFL_SAN_NO_INST to AFL_FSRV_ONLY 2025-05-12 14:43:08 +08:00
van Hauser
673463ff1c
Merge pull request #2412 from alexandredoyen29/environment_forkserver
Environment variable to discriminate the target and the forkserver
2025-05-05 14:30:40 +02:00
Alexandre DOYEN
f580fefc5f Doc 2025-05-05 11:12:51 +02:00
Alexandre DOYEN
320d4b7ef8 Requested changes 2025-05-05 11:03:26 +02:00
Kuang-che Wu
062f883160 add splice_optout_py prototype 2025-05-05 16:16:42 +08:00
Kuang-che Wu
6876ab7901 remove dead prototype 2025-05-05 08:46:49 +08:00
Kuang-che Wu
701299eefd remove dead code; we no longer use murmurhash 2025-05-05 08:44:26 +08:00
vanhauser-thc
5f7009d6e9 code format 2025-04-28 14:23:17 +02:00
Marian Buschsieweke
b083016304
Define WORD_SIZE_64 for more 64-bit arches
This enables 64-bit detection for the following additional systems:

- [PowerPC64 (little endian)](https://en.wikipedia.org/wiki/Ppc64)
- [S390x](https://en.wikipedia.org/wiki/S390x)
- [LoongArch64](https://en.wikipedia.org/wiki/LoongArch64)
2025-04-28 07:58:09 +02:00
vanhauser-thc
e30a17be91 v4.33a init 2025-04-26 15:57:30 +02:00
vanhauser-thc
06219b4d56 v4.32c 2025-04-26 15:35:47 +02:00
Kuang-che Wu
be8393f201 fix in_define in .custom-format.py
avoid the extra \ before #define line
2025-04-12 15:56:36 +00:00
Kuang-che Wu
1d2de1cb6d remove dead code in comment 2025-04-12 11:15:25 +00:00
vanhauser-thc
8461f860eb code format 2025-04-10 16:28:03 +02:00
van Hauser
7395223512
Merge pull request #2368 from w1redch4d/qbdi_fix
fixed qbdi mode to work out of the box
2025-04-10 16:26:48 +02:00
w1redch4d
b9c1536283 added safe_length option for portability and clarity 2025-04-10 19:44:54 +05:30
w1redch4d
3c8016e071 fixed qbdi mode to work out of the box 2025-04-10 19:21:14 +05:30
van Hauser
55f758a168
Merge pull request #2366 from 5angjun/dev
fix: correct rescoring logic with minimal executions
2025-04-10 14:01:49 +02:00
vanhauser-thc
6cbe58ff55 code format 2025-04-10 09:30:18 +02:00
5angjun
161905c2fc fix: correct rescoring logic with minimal executions
Previous scoring logic did not correctly rescore all queue entries.

This patch ensures rescoring works under the updated scheduling logic,
while minimizing executions per feedback from PR #2363.

Based on feedback from: https://github.com/AFLplusplus/AFLplusplus/pull/2363
2025-04-09 23:37:16 +09:00
mio
6b71ca7809
Also remove declaration 2025-04-09 21:34:19 +08:00
mio
6223ddf6d2
Changes not saved =( 2025-04-09 21:34:18 +08:00
mio
920c7fe71a
Fix sand due to default schedule change 2025-04-09 21:34:18 +08:00
vanhauser-thc
4ff2673895 fix update_bitmap_score when no current trace is present 2025-04-09 14:21:42 +02:00
vanhauser-thc
891b7f48f0 nits 2025-04-09 10:48:34 +02:00
vanhauser-thc
55c9c4ff19 deprecate some queue/.state files 2025-04-08 11:32:08 +02:00
vanhauser-thc
7c349b6cde increase fast resume version 2025-04-07 10:13:13 +02:00
mio
58e4070573
Update comments 2025-04-06 12:18:49 +08:00
mio
2ecf28440f
Fix comments in for SAND 2025-04-06 12:16:34 +08:00
Kuang-che Wu
ec07f531f8 reduce skipdet_e memory usage
By using bitmaps, the memory requirement for
`q->skipdet_e->skip_eff_map` and `done_inf_map`, which previously scaled
with the corpus size, is reduced to one-eighth of its original size.
2025-04-05 01:49:27 +00:00
Xeonacid
5842ba87e5 Define WORD_SIZE_64 for riscv64 2025-04-03 04:17:37 -04:00
Andy Knowles
4cabb81996 Better handling of exit codes used by sanitzers 2025-03-24 16:30:05 +01:00
Samuel Moelius
73a36ffda3 Add fflush(stdout); before abort call
Fixes #2318
2025-03-03 05:24:36 -05:00
vanhauser-thc
47954cd04c try macos fix 2025-02-12 09:16:01 +01:00
vanhauser-thc
e6f15f02e1 fix 32 bit compile 2025-02-11 12:02:40 +01:00
vanhauser-thc
125027f5bf v4.32a 2025-02-10 14:40:12 +01:00
vanhauser-thc
ecaddc09e8 code format 2025-02-10 13:29:22 +01:00