From 5d23ba9171e7afb86a7ac3a5eb89ece1c097d057 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Fri, 16 Dec 2016 15:36:29 +0100 Subject: executor: don't fail on ENOMEM --- executor/common.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'executor/common.h') 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) -- cgit mrf-deployment