AFL_SKIP_CRASHES is obsolete since 3.0

This commit is contained in:
vanhauser-thc
2021-05-25 09:22:50 +02:00
parent 109383f438
commit 8e75adfee5
5 changed files with 6 additions and 36 deletions

View File

@ -315,11 +315,6 @@ checks or alter some of the more exotic semantics of the tool:
- Setting `AFL_NO_AUTODICT` will not load an LTO generated auto dictionary
that is compiled into the target.
- `AFL_SKIP_CRASHES` causes AFL++ to tolerate crashing files in the input
queue. This can help with rare situations where a program crashes only
intermittently, but it's not really recommended under normal operating
conditions.
- Setting `AFL_HANG_TMOUT` allows you to specify a different timeout for
deciding if a particular test case is a "hang". The default is 1 second
or the value of the `-t` parameter, whichever is larger. Dialing the value

View File

@ -388,7 +388,7 @@ typedef struct afl_env_vars {
afl_exit_on_seed_issues;
u8 *afl_tmpdir, *afl_custom_mutator_library, *afl_python_module, *afl_path,
*afl_hang_tmout, *afl_forksrv_init_tmout, *afl_skip_crashes, *afl_preload,
*afl_hang_tmout, *afl_forksrv_init_tmout, *afl_preload,
*afl_max_det_extras, *afl_statsd_host, *afl_statsd_port,
*afl_crash_exitcode, *afl_statsd_tags_flavor, *afl_testcache_size,
*afl_testcache_entries, *afl_kill_signal, *afl_target_env,

View File

@ -823,7 +823,6 @@ void perform_dry_run(afl_state_t *afl) {
struct queue_entry *q;
u32 cal_failures = 0, idx;
u8 * skip_crashes = afl->afl_env.afl_skip_crashes;
u8 * use_mem;
for (idx = 0; idx < afl->queued_paths; idx++) {
@ -923,27 +922,6 @@ void perform_dry_run(afl_state_t *afl) {
if (afl->crash_mode) { break; }
if (skip_crashes) {
if (afl->fsrv.uses_crash_exitcode) {
WARNF(
"Test case results in a crash or AFL_CRASH_EXITCODE %d "
"(skipping)",
(int)(s8)afl->fsrv.crash_exitcode);
} else {
WARNF("Test case results in a crash (skipping)");
}
q->cal_failed = CAL_CHANCES;
++cal_failures;
break;
}
if (afl->fsrv.mem_limit) {
u8 val_buf[STRINGIFY_VAL_SIZE_MAX];
@ -1117,14 +1095,12 @@ void perform_dry_run(afl_state_t *afl) {
if (cal_failures == afl->queued_paths) {
FATAL("All test cases time out%s, giving up!",
skip_crashes ? " or crash" : "");
FATAL("All test cases time out or crash, giving up!");
}
WARNF("Skipped %u test cases (%0.02f%%) due to timeouts%s.", cal_failures,
((double)cal_failures) * 100 / afl->queued_paths,
skip_crashes ? " or crashes" : "");
WARNF("Skipped %u test cases (%0.02f%%) due to timeouts or crashes.",
cal_failures, ((double)cal_failures) * 100 / afl->queued_paths);
if (cal_failures * 5 > afl->queued_paths) {

View File

@ -206,8 +206,7 @@ void read_afl_environment(afl_state_t *afl, char **envp) {
afl_environment_variable_len)) {
afl->afl_env.afl_skip_crashes =
(u8 *)get_afl_env(afl_environment_variables[i]);
// we should mark this obsolete in a few versions
} else if (!strncmp(env, "AFL_HANG_TMOUT",

View File

@ -240,7 +240,7 @@ static void usage(u8 *argv0, int more_help) {
"AFL_SHUFFLE_QUEUE: reorder the input queue randomly on startup\n"
"AFL_SKIP_BIN_CHECK: skip afl compatibility checks, also disables auto map size\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_SKIP_CRASHES: during initial dry run do not terminate for crashing inputs\n"
"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"