aboutsummaryrefslogtreecommitdiffstats
path: root/executor/common.h
diff options
context:
space:
mode:
Diffstat (limited to 'executor/common.h')
-rw-r--r--executor/common.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/executor/common.h b/executor/common.h
index f0e6306e0..6fc798280 100644
--- a/executor/common.h
+++ b/executor/common.h
@@ -80,7 +80,9 @@ __attribute__((noreturn)) void fail(const char* msg, ...)
vfprintf(stderr, msg, args);
va_end(args);
fprintf(stderr, " (errno %d)\n", e);
- doexit(kFailStatus);
+ // ENOMEM is frequent cause of failures in fuzzing context,
+ // so handle it here as non-fatal error.
+ doexit(e == ENOMEM ? kRetryStatus : kFailStatus);
}
#if defined(SYZ_EXECUTOR)