aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2024-02-08 14:51:13 +0100
committerGitHub <noreply@github.com>2024-02-08 14:51:13 +0100
commit48070e0148699fbd96dc9f4e5950565498d4ad43 (patch)
treedf6d533f841779a80b0160b57fdbff9337ae015b /include
parentc23bbddde97d81fdb27351bade8f74fe71e49c21 (diff)
parent698f1e272b8738cd1145ed687861fa5664f14c9b (diff)
downloadafl++-48070e0148699fbd96dc9f4e5950565498d4ad43.tar.gz
Merge branch '420' into dev
Diffstat (limited to 'include')
-rw-r--r--include/cmplog.h23
-rw-r--r--include/envs.h2
-rw-r--r--include/types.h8
3 files changed, 21 insertions, 12 deletions
diff --git a/include/cmplog.h b/include/cmplog.h
index 6bfc146b..589570fe 100644
--- a/include/cmplog.h
+++ b/include/cmplog.h
@@ -38,18 +38,16 @@
#define SHAPE_BYTES(x) (x + 1)
-#define CMP_TYPE_INS 1
-#define CMP_TYPE_RTN 2
+#define CMP_TYPE_INS 0
+#define CMP_TYPE_RTN 1
struct cmp_header {
- unsigned hits : 24;
- unsigned id : 24;
- unsigned shape : 5;
- unsigned type : 2;
- unsigned attribute : 4;
- unsigned overflow : 1;
- unsigned reserved : 4;
+ unsigned hits : 6; // up to 63 entries, we have CMP_MAP_H = 32
+ unsigned shape : 5; // 31+1 bytes
+ unsigned type : 1; // 4, we use 3: none, rtn, cmp
+ unsigned attribute : 4; // 16 for arithmetic comparison types
+ //unsigned reserved : 6;
} __attribute__((packed));
@@ -59,14 +57,17 @@ struct cmp_operands {
u64 v1;
u64 v0_128;
u64 v1_128;
+ u64 unused;
+ u8 unused1;
+ u8 unused2;
} __attribute__((packed));
struct cmpfn_operands {
- u8 v0[31];
+ u8 v0[32];
u8 v0_len;
- u8 v1[31];
+ u8 v1[32];
u8 v1_len;
} __attribute__((packed));
diff --git a/include/envs.h b/include/envs.h
index 0f645d23..8f342553 100644
--- a/include/envs.h
+++ b/include/envs.h
@@ -21,7 +21,7 @@ static char *afl_environment_variables[] = {
"AFL_BENCH_UNTIL_CRASH", "AFL_CAL_FAST", "AFL_CC", "AFL_CC_COMPILER",
"AFL_CMIN_ALLOW_ANY", "AFL_CMIN_CRASHES_ONLY", "AFL_CMPLOG_ONLY_NEW",
"AFL_CODE_END", "AFL_CODE_START", "AFL_COMPCOV_BINNAME",
- "AFL_COMPCOV_LEVEL", "AFL_CRASH_EXITCODE",
+ "AFL_CMPLOG_MAX_LEN", "AFL_COMPCOV_LEVEL", "AFL_CRASH_EXITCODE",
"AFL_CRASHING_SEEDS_AS_NEW_CRASH", "AFL_CUSTOM_MUTATOR_LIBRARY",
"AFL_CUSTOM_MUTATOR_ONLY", "AFL_CUSTOM_INFO_PROGRAM",
"AFL_CUSTOM_INFO_PROGRAM_ARGV", "AFL_CUSTOM_INFO_PROGRAM_INPUT",
diff --git a/include/types.h b/include/types.h
index 22332135..18c5df91 100644
--- a/include/types.h
+++ b/include/types.h
@@ -49,6 +49,14 @@ typedef uint128_t u128;
#define FS_ERROR_OLD_CMPLOG 32
#define FS_ERROR_OLD_CMPLOG_QEMU 64
+/* New Forkserver */
+#define FS_NEW_VERSION_MIN 1
+#define FS_NEW_VERSION_MAX 1
+#define FS_NEW_ERROR 0xeffe0000
+#define FS_NEW_OPT_MAPSIZE 0x00000001 // parameter: 32 bit value
+#define FS_NEW_OPT_SHDMEM_FUZZ 0x00000002 // parameter: none
+#define FS_NEW_OPT_AUTODICT 0x00000800 // autodictionary data
+
/* Reporting options */
#define FS_OPT_ENABLED 0x80000001
#define FS_OPT_MAPSIZE 0x40000000