aboutsummaryrefslogtreecommitdiffstats
path: root/executor
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2016-12-16 15:36:29 +0100
committerDmitry Vyukov <dvyukov@google.com>2016-12-16 15:36:29 +0100
commit5d23ba9171e7afb86a7ac3a5eb89ece1c097d057 (patch)
tree714d918d08312479d8caf428e52ff0e598c7ff48 /executor
parentd1b6b5b9b16ebea9394d207a8b19a84f6dc3a61d (diff)
executor: don't fail on ENOMEM
Diffstat (limited to 'executor')
-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)