summary refs log tree commit diff
path: root/pkgs/tools/security/afl/qemu-patches/translate-all.patch
blob: 89163b607fdc403eed629612bc793030142a7950 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
--- qemu-2.2.0/translate-all.c.orig     2014-12-09 14:45:46.000000000 +0000
+++ qemu-2.2.0/translate-all.c  2015-01-28 22:37:42.383000000 +0000
@@ -387,8 +387,13 @@
     /* We can't use g_malloc because it may recurse into a locked mutex. */
 # define ALLOC(P, SIZE)                                 \
     do {                                                \
-        P = mmap(NULL, SIZE, PROT_READ | PROT_WRITE,    \
-                 MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);   \
+      void* _tmp = mmap(NULL, SIZE, PROT_READ | PROT_WRITE, \
+                        MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); \
+      if (_tmp == (void*)-1) { \
+        qemu_log(">>> Out of memory for stack, bailing out. <<<\n"); \
+        exit(1); \
+      } \
+      (P) = _tmp; \
     } while (0)
 #else
 # define ALLOC(P, SIZE) \