about summary refs log tree commit diff
path: root/src/afl-fuzz-extras.c
AgeCommit message (Collapse)Author
2024-02-03push to stable (#1983)van Hauser
* Output afl-clang-fast stuffs only if necessary (#1912) * afl-cc header * afl-cc common declarations - Add afl-cc-state.c - Strip includes, find_object, debug/be_quiet/have_*/callname setting from afl-cc.c - Use debugf_args in main - Modify execvp stuffs to fit new aflcc struct * afl-cc show usage * afl-cc mode selecting 1. compiler_mode by callname in argv[0] 2. compiler_mode by env "AFL_CC_COMPILER" 3. compiler_mode/instrument_mode by command line options "--afl-..." 4. instrument_mode/compiler_mode by various env vars including "AFL_LLVM_INSTRUMENT" 5. final checking steps 6. print "... - mode: %s-%s\n" 7. determine real argv[0] according to compiler_mode * afl-cc macro defs * afl-cc linking behaviors * afl-cc fsanitize behaviors * afl-cc misc * afl-cc body update * afl-cc all-in-one formated with custom-format.py * nits --------- Co-authored-by: vanhauser-thc <vh@thc.org> * changelog * update grammar mutator * lto llvm 12+ * docs(custom_mutators): fix missing ':' (#1953) * Fix broken LTO mode and response file support (#1948) * Strip `-Wl,-no-undefined` during compilation (#1952) Make the compiler wrapper stripping `-Wl,-no-undefined` in addition to `-Wl,--no-undefined`. Both versions of the flag are accepted by clang and, therefore, used by building systems in the wild (e.g., samba will not build without this fix). * Remove dead code in write_to_testcase (#1955) The custom_mutators_count check in if case is duplicate with if condition. The else case is custom_mutators_count == 0, neither custom_mutator_list iteration nor sent check needed. Signed-off-by: Xeonacid <h.dwwwwww@gmail.com> * update qemuafl * WIP: Add ability to generate drcov trace using QEMU backend (#1956) * Document new drcov QEMU plugin * Add link to lightkeeper for QEMU drcov file loading --------- Co-authored-by: Jean-Romain Garnier <jean-romain.garnier@airbus.com> * code format * changelog * sleep on uid != 0 afl-system-config * fix segv about skip_next, warn on unsupported cases of linking options (#1958) * todos * ensure afl-cc only allows available compiler modes * update grammar mutator * disable aslr on apple * fix for arm64 * help selective instrumentation * typos * macos * add compiler test script * apple fixes * bump nyx submodules (#1963) * fix docs * update changelog * update grammar mutator * improve compiler test script * gcc asan workaround (#1966) * fix github merge fuckup * fix * Fix afl-cc (#1968) - Check if too many cmdline params here, each time before insert a new param. - Check if it is "-fsanitize=..." before we do sth. - Remove improper param_st transfer. * Avoid adding llvmnative instrumentation when linking rust sanitizer runtime (#1969) * Dynamic instrumentation filtering for LLVM native (#1971) * Add two dynamic instrumentation filter methods to runtime * Always use pc-table with native pcguard * Add make_symbol_list.py and README * changelog * todos * new forkserver check * fix * nyx test for CI * improve nyx docs * Fixes to afl-cc and documentation (#1974) * Always compile with -ldl when building for CODE_COVERAGE When building with CODE_COVERAGE, the afl runtime contains code that calls `dladdr` which requires -ldl. Under most circumstances, clang already adds this (e.g. when building with pc-table), but there are some circumstances where it isn't added automatically. * Add visibility declaration to __afl_connected When building with hidden visibility, the use of __AFL_LOOP inside such code can cause linker errors due to __afl_connected being declared "hidden". * Update docs to clarify that CODE_COVERAGE=1 is required for dynamic_covfilter * nits * nyx build script updates * test error output * debug ci * debug ci * Improve afl-cc (#1975) * update response file support - full support of rsp file - fix some segv issues * Improve afl-cc - remove dead code about allow/denylist options of sancov - missing `if (!aflcc->have_msan)` - add docs for each function - typo * enable nyx * debug ci * debug ci * debug ci * debug ci * debug ci * debug ci * debug ci * debug ci * fix ci * clean test script * NO_NYX * NO_NYX * fix ci * debug ci * fix ci * finalize ci fix * Enhancement on Deterministic stage (#1972) * fuzzer: init commit based on aflpp 60dc37a8cf09f8e9048e4b6a2204d6c90b27655a * fuzzers: adding the skip variables and initialize * log: profile the det/havoc finding * log: add profile log output * fuzzers: sperate log/skipdet module * fuzzers: add quick eff_map calc * fuzzers: add skip_eff_map in fuzz_one * fuzzers: mark whole input space in eff_map * fuzzers: add undet bit threshold to skip some seeds * fuzzers: fix one byte overflow * fuzzers: fix overflow * fix code format * add havoc only again * code format * remove log to INTROSPECTION, rename skipdet module * rename skipdet module * remove log to stats * clean redundant code * code format * remove redundant code format check * remove redundant doc * remove redundant objects * clean files * change -d to default skipdet * disable deterministic when using CUSTOM_MUTATOR * revert fix * final touches for skipdet * remove unused var * remove redundant eff struct (#1977) * update QEMU-Nyx submodule (#1978) * update QEMU-Nyx submodule (#1980) * Fix type in AFL_NOOPT env variable in afl-cc help message (#1982) * nits * 2024 v4.10c release * fixes --------- Signed-off-by: Xeonacid <h.dwwwwww@gmail.com> Co-authored-by: Sonic <50692172+SonicStark@users.noreply.github.com> Co-authored-by: Xeonacid <h.dwwwwww@gmail.com> Co-authored-by: Nils Bars <nils.bars@rub.de> Co-authored-by: Jean-Romain Garnier <7504819+JRomainG@users.noreply.github.com> Co-authored-by: Jean-Romain Garnier <jean-romain.garnier@airbus.com> Co-authored-by: Sergej Schumilo <sergej@schumilo.de> Co-authored-by: Christian Holler (:decoder) <choller@mozilla.com> Co-authored-by: Han Zheng <35988108+kdsjZh@users.noreply.github.com> Co-authored-by: Khaled Yakdan <yakdan@code-intelligence.com>
2023-11-07fix dictionary and cminvanhauser-thc
2023-01-03welcome 2023vanhauser-thc
2022-07-12clang format 14vanhauser-thc
2022-01-01welcome 2022vanhauser-thc
2021-11-06http->httpsvanhauser-thc
2021-05-21lenient dict parsing, no map size enum for binary fuzzingvanhauser-thc
2021-03-23make setting different file permissions easy via config.hvanhauser-thc
2021-03-02add de-unicoded dictionary entriesvanhauser-thc
2021-01-28fix another pending_not_fuzzed locationvan Hauser
2021-01-04code formatvan Hauser
2021-01-04code cleanups (shadowed vars, (un)signed type mismatches, format types, etc.)hexcoder-
2020-11-01added mutation introspection make targetvan Hauser
2020-10-30fix ck_alloc callvan Hauser
2020-10-30fix ck_alloc callvan Hauser
2020-10-30extras: afl_realloc -> ck_reallocvan Hauser
2020-10-29better warn if skipping large dictvan Hauser
2020-09-05add cull queue, -i subdir traversalvanhauser-thc
2020-08-24added afl_custom_fuzz_countvan Hauser
2020-08-24Allow Large Extras (#523)Dominik Maier
* allow large extras * skipping large testcases again
2020-08-23no longer warns for prob. extrasDominik Maier
2020-08-23added AFL_MAX_DET_EXTRAS env varDominik Maier
2020-08-21fix for bad free (#520)Dominik Maier
2020-08-18code-format, changelogDominik Maier
2020-08-18moved autodict extras away from extras_aDominik Maier
2020-08-18Reworked maybe_grow to take a single ptr, renamed to afl_realloc (#505)Dominik Maier
* 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-14fix llvm12 -fuseld warningvan Hauser
2020-08-14no longer using alloc for autodictDominik Maier
2020-08-14code-formatDominik Maier
2020-08-14cleaned up maybe_add_auto callsDominik Maier
2020-08-07enabled Wextra, fixed bugsDominik Maier
2020-04-19clang-tidy readability-braces (#323)Dominik Maier
2020-04-13fixed uaf and warningsDominik Maier
2020-04-10LTO optimization, variable map size, autodictionary (#307)van Hauser
* 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-09Android build fix proposal.David Carlier
LTO flag is recognised but however broken on Android (tested with armv7 arch). Thus giving the choice not to enable it. In fortify mode, open required O_CREAT or O_TMPFILE when mode is set.
2020-03-21renamed UB to rand_belowDominik Maier
2020-03-21moved string formatting to headerDominik Maier
2020-03-19no more (?) staticsDominik Maier
2020-03-11honor afl_quiet on env var checks + code-formatvan Hauser
2020-03-10unified pointer placementDominik Maier
2020-03-09code-formatvan Hauser
2020-03-09AFL without globals (#220)Dominik Maier
* moved globals to afl, shm and fsrv * moved argv to afl state, less bugs * fixed unicorn docu * lists everywhere * merged custom mutators * fixed leaks in afl-fuzz
2020-01-20fixed Heiko's global search-replace :)van Hauser
2019-12-31v2.60d and year 2020 initvan Hauser
2019-10-19Remove lcamtuf's old email from Google (not valid anymore), also remove ↵hexcoder-
maintainance from him.
2019-09-04fix typo in custom formatAndrea Fioraldi
2019-09-04credits and license header for src/* and include/*Andrea Fioraldi
2019-09-02run code formatterAndrea Fioraldi
2019-09-02afl-fuzz-src/* -> src/afl-fuzz* renamevan Hauser