261 Commits
Author SHA1 Message Date
Robert Swiecki f0314885ba libhfuzz+linux/bfd: unify static and dynamic (cmp) dictionaries into one 2026-01-04 20:24:52 +01:00
Robert Swiecki b5433dc87b libhfuzz/instrument+mangle: efficiency updates 2026-01-02 22:49:16 +01:00
Robert Swiecki 4dc1e980a1 mangle: disable ununsed func 2026-01-01 21:06:12 +01:00
Robert Swiecki e15ceb1e1a mangle/instrument: don't log bswp'd values to the dynamic dict, but use bswp'd values 10% of time 2026-01-01 17:26:07 +01:00
Robert Swiecki 0ed84a1270 mangle: new strats (dictionaryinsert and punct) 2026-01-01 10:16:12 +01:00
Robert Swiecki 66bd56a335 linux/bfd: extract Lemon/Bison/Yacc literals 2025-12-31 14:30:53 +01:00
Robert Swiecki 9d6863fb07 mangle: a few new mutation strats 2025-12-31 08:37:04 +01:00
Robert Swiecki 8baf395e52 input/mangle: new power schedules and mutation strategies 2025-12-21 16:22:40 +01:00
Robert Swiecki 4cfa62f4fd mangle: support gcc-15 with __attribute__((nonstring)) 2025-03-23 19:16:55 +01:00
Robert Swiecki f4d296216f mangle/input: simplify input selection by not trusting the speed factor that much 2024-07-12 00:30:15 +02:00
Robert Swiecki 88709ce60f mangle: revert e77f7604a0 as the old behavior seems to give better results 2023-11-18 16:28:01 +01:00
Robert Swiecki 7b89f383f3 clang-format: IndentCaseLabels: false 2023-09-25 21:24:01 +02:00
Robert Swiecki 8c38013b70 make indent 2023-09-17 10:25:53 +02:00
Jagger 8b99dc0059 mangle: missing NL 2023-08-28 23:05:29 +02:00
Robert Swiecki e77f7604a0 mangle: let mangle_ConstFeedbackDict run with 50% chance 2023-03-30 13:19:05 +02:00
David Carlier 19c0007af4 using __builtin_memcpy_inline from LLVM in few places.
Differences with __builtin_memcpy are it does not generate
extra calls and it can work only with compile time sizes.
2022-06-20 08:39:33 +01:00
Robert Swiecki bac6ce8836 input: input_getRandomInputAsBuf() can return size 0 2021-02-17 01:27:57 +01:00
Robert Swiecki 9eb7df7d37 mangle: only one BytesRepeat() version 2021-02-16 18:50:41 +01:00
Robert Swiecki 0b4cd5b1c4 mangle: use mangle_Splice() and mangle_ConstFeedbackDict() more frequently, as these yield good results 2021-02-16 15:49:19 +01:00
Robert Swiecki dd49b732eb mangle: no need for multiple mangle_Shrink 2021-02-15 02:32:40 +01:00
Robert Swiecki f7d211776a mangle: use mangle_Inflate for certain functions if possible 2021-02-12 00:14:38 +01:00
Robert Swiecki 81e0ee3e19 mangle: use memmove when possible 2021-02-12 00:03:10 +01:00
Robert Swiecki 9d49c38ad2 input/mangle: move input_getRandomInputAsBuf() error to the mangle code 2021-02-11 23:51:45 +01:00
Robert Swiecki b171f64ef5 mangle: rewrite mangle_ASCIINumChange() 2021-02-07 23:15:50 +01:00
Robert Swiecki 28091da6aa mangle: add a procedure for explicitly clearing memory 2021-02-07 03:19:22 +01:00
Robert Swiecki 0dbc7fd6be mangle: exprand() based on an idea by https://twitter.com/gamozolabs 2020-08-10 14:22:33 +02:00
Robert Swiecki 38bb488ab9 mangle: simpler MemSwap, w/o malloc() 2020-08-10 14:18:39 +02:00
Robert Swiecki ae38d1df71 mangle: offset selection progression starts at 8B and ends at 8KiB 2020-08-05 09:44:43 +02:00
Robert Swiecki 086bfdf21c mangle: cast values when returning uint64_t from a function which returns size_t 2020-08-04 21:28:46 +02:00
Robert Swiecki c950e75d25 Fix the helper function which returns random (exprand-style) file
offsets for fuzzing.

It didn't do proper job (as per #360), so it's been replaced by
something simpler. Now it's still prefering smaller values, but it's
a step function-like distribution now.
2020-08-04 21:19:23 +02:00
Robert Swiecki d4d2618ca6 iwyu: use iwyu to fix includes across the code 2020-05-05 18:13:14 +02:00
Robert Swiecki bbb476eec9 New directives in .clang-format 2020-04-29 16:14:09 +02:00
Robert Swiecki 6079d30aac mangle: typo 2020-04-27 14:09:35 +02:00
Robert Swiecki b367c34b62 mangle/input: made speed scoring function much less aggressive because it can mutate input files too much. Also, divide the speed_factor by 5 (not so aggressive), and cap it at 10, and not 15 2020-04-15 19:32:45 +02:00
Robert Swiecki 8e76143f88 mangle: limit mangle_getOffSetPlus1 to _HF_INPUT_MAX_SIZE 2020-04-07 17:31:59 +02:00
Robert Swiecki 01fcfc3359 mangle: don't return void 2020-04-05 16:31:56 +02:00
Robert Swiecki ad2603ee61 mangle: remove explicit Append as it inflates files too much 2020-04-04 17:08:18 +02:00
Robert Swiecki 8d44e62d8d mangle: remove HF_MIN(HF_MAX_LEN_BLOCK, ) as it doesn't work well for zlib 2020-04-04 00:19:00 +02:00
Robert Swiecki 942c64b9ec mangle: implement mangle_UseValue and make other functions use it, to use overwrite/insert/append operations 2020-04-02 16:11:28 +02:00
Robert Swiecki 4f0ea606fa mangle: add mangle_ASCIINumChange() to manipulate values of integers 2020-04-02 01:29:46 +02:00
Robert Swiecki c7ce11b1a0 mangle: implement SpliceAppend() 2020-03-31 18:15:21 +02:00
Robert Swiecki efe02e41ca use usecs instead of msecs as the basic unit of time 2020-03-29 21:03:56 +02:00
Robert Swiecki 0930d199cb linux: enable network namespacing by default (if available) 2020-03-29 19:33:51 +02:00
Robert Swiecki 254d2f005b mangle: use actual slow_factor and not the skip_factor for counting number of necessary mutations 2020-03-28 23:29:49 +01:00
Robert Swiecki 855d5acf1e input: adjust per-input penalties 2020-03-28 19:45:37 +01:00
Robert Swiecki 5724e1262c mangle: add mangle_MemSwap 2020-03-28 01:32:40 +01:00
Robert Swiecki 0eeb8c7c1e input: compute the likelyhood of an input being tested on the basis of more params (no. of backreferenced, exec time, and freshness) 2020-03-27 23:09:27 +01:00
Robert Swiecki df32765afd mangle: add Shrink's to counterbalance all Insert's 2020-03-27 08:58:00 +01:00
Robert Swiecki ad3b23882f input: delay testing of slow inputs 2020-03-27 08:05:06 +01:00
Robert Swiecki a6a959ce01 mangle: be muche more agressive about slow inputs 2020-03-27 05:22:08 +01:00