fix crash for very fast targets
MODIFY
docs/Changelog.md
docs/Changelog.md
@@ -10,6 +10,7 @@ sending a mail to <afl-users+subscribe@googlegroups.com>.
### Version ++3.01a (release)
+ - fix crash for very, very fast targets+systems, thanks for reporting @mhlakhani
- added dummy Makefile to instrumentation/
- allow instrumenting LLVMFuzzerTestOneInput

MODIFY
src/afl-common.c
src/afl-common.c
#include <stdlib.h>
#include <stdio.h>
#include <strings.h>
+#include <math.h>
#include "debug.h"
#include "alloc-inl.h"
@@ -786,6 +787,10 @@ u8 *u_stringify_float(u8 *buf, double val) {
sprintf(buf, "%0.01f", val);
+ } else if (unlikely(isnan(val) || isfinite(val))) {
+
+ strcpy(buf, "999.9");
+
} else {
return u_stringify_int(buf, (u64)val);

MODIFY
src/afl-fuzz-stats.c
src/afl-fuzz-stats.c
@@ -371,6 +371,8 @@ void show_stats(afl_state_t *afl) {
if (!afl->stats_last_execs) {
+ if (unlikely(cur_ms == afl->start_time)) --afl->start_time;
+
afl->stats_avg_exec =
((double)afl->fsrv.total_execs) * 1000 / (cur_ms - afl->start_time);

fix crash for very fast targets