mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-15 19:38:09 +00:00
configurable testcache with malloc (#581)
* cache item number to cache memory size * reload testcase if trimming changed the size * fix splicing selection * slim splicing * import sync fix * write testcache stats to fuzzer_stats * fix new seed selection algo * malloc+read instead of mmap * fix * testcache is configurable now and no reference counts * fixes compilation, test script * fixes * switch TEST_CC to afl-cc in makefile * code format * fix * fix crash * fix crash * fix env help output * remove unnecessary pointer resets * fix endless loop bug * actually use the cache if set * one more fix * increase default cache entries, add default cache size value to config.h Co-authored-by: hexcoder- <heiko@hexco.de>
This commit is contained in:
@ -196,11 +196,13 @@ static void usage(u8 *argv0, int more_help) {
|
||||
"AFL_SKIP_BIN_CHECK: skip the check, if the target is an executable\n"
|
||||
"AFL_SKIP_CPUFREQ: do not warn about variable cpu clocking\n"
|
||||
"AFL_SKIP_CRASHES: during initial dry run do not terminate for crashing inputs\n"
|
||||
"AFL_STATSD: enables StatsD metrics collection"
|
||||
"AFL_STATSD_HOST: change default statsd host (default 127.0.0.1)"
|
||||
"AFL_STATSD_PORT: change default statsd port (default: 8125)"
|
||||
"AFL_STATSD_TAGS_FLAVOR: change default statsd tags format (default will disable tags)."
|
||||
" Supported formats are: 'dogstatsd', 'librato', 'signalfx' and 'influxdb'"
|
||||
"AFL_STATSD: enables StatsD metrics collection\n"
|
||||
"AFL_STATSD_HOST: change default statsd host (default 127.0.0.1)\n"
|
||||
"AFL_STATSD_PORT: change default statsd port (default: 8125)\n"
|
||||
"AFL_STATSD_TAGS_FLAVOR: set statsd tags format (default: disable tags)\n"
|
||||
" Supported formats are: 'dogstatsd', 'librato', 'signalfx'\n"
|
||||
" and 'influxdb'\n"
|
||||
"AFL_TESTCACHE_SIZE: use a cache for testcases, improves performance (in MB)\n"
|
||||
"AFL_TMPDIR: directory to use for input file generation (ramdisk recommended)\n"
|
||||
//"AFL_PERSISTENT: not supported anymore -> no effect, just a warning\n"
|
||||
//"AFL_DEFER_FORKSRV: not supported anymore -> no effect, just a warning\n"
|
||||
@ -885,7 +887,7 @@ int main(int argc, char **argv_orig, char **envp) {
|
||||
auto_sync = 1;
|
||||
afl->sync_id = ck_strdup("default");
|
||||
afl->is_secondary_node = 1;
|
||||
OKF("no -M/-S set, autoconfiguring for \"-S %s\"", afl->sync_id);
|
||||
OKF("No -M/-S set, autoconfiguring for \"-S %s\"", afl->sync_id);
|
||||
|
||||
}
|
||||
|
||||
@ -1006,6 +1008,21 @@ int main(int argc, char **argv_orig, char **envp) {
|
||||
|
||||
}
|
||||
|
||||
if (afl->afl_env.afl_testcache_size) {
|
||||
|
||||
afl->q_testcase_max_cache_size =
|
||||
(u64)atoi(afl->afl_env.afl_testcache_size) * 1024000;
|
||||
OKF("Enabled testcache with %llu MB",
|
||||
afl->q_testcase_max_cache_size / 1024000);
|
||||
|
||||
} else {
|
||||
|
||||
ACTF(
|
||||
"No testcache was configured. it is recommended to use a testcache, it "
|
||||
"improves performance: set AFL_TESTCACHE_SIZE=(value in MB)");
|
||||
|
||||
}
|
||||
|
||||
if (afl->afl_env.afl_forksrv_init_tmout) {
|
||||
|
||||
afl->fsrv.init_tmout = atoi(afl->afl_env.afl_forksrv_init_tmout);
|
||||
|
Reference in New Issue
Block a user