about summary refs log tree commit diff
path: root/afl-cmin
diff options
context:
space:
mode:
Diffstat (limited to 'afl-cmin')
-rwxr-xr-xafl-cmin15
1 files changed, 8 insertions, 7 deletions
diff --git a/afl-cmin b/afl-cmin
index 44716af1..4e0d78df 100755
--- a/afl-cmin
+++ b/afl-cmin
@@ -291,13 +291,14 @@ BEGIN {
     target_bin = tnew
   }
 
-  get_map_size = "AFL_DUMP_MAP_SIZE=1 " target_bin
-  get_map_size | getline mapsize
-  if (mapsize && mapsize > 65535) {
-
-    AFL_MAP_SIZE = "AFL_MAP_SIZE="mapsize" "
-    print "[+] Setting "AFL_MAP_SIZE
-
+  if (0 == system ( "grep -aq AFL_DUMP_MAP_SIZE" target_bin )) {
+    echo "[!] Trying to obtain the map size of the target ..."
+    get_map_size = "AFL_DUMP_MAP_SIZE=1 " target_bin
+    get_map_size | getline mapsize
+    if (mapsize && mapsize > 65535 && mapsize < 100000000) {
+      AFL_MAP_SIZE = "AFL_MAP_SIZE="mapsize" "
+      print "[+] Setting "AFL_MAP_SIZE
+    }
   }
 
   if (!ENVIRON["AFL_SKIP_BIN_CHECK"] && !qemu_mode && !frida_mode && !unicorn_mode) {