diff options
author | Your Name <you@example.com> | 2022-07-29 17:23:30 +0100 |
---|---|---|
committer | Your Name <you@example.com> | 2022-07-29 17:23:30 +0100 |
commit | f2b7104cd6c808c2caceb1314a19f4dbcfd087d7 (patch) | |
tree | 782205d6e3a91d71692bd24bf08b7cb1917068d9 /frida_mode/src | |
parent | c6af98bc355dbd828e2e6b332ab743a6c2f4ce4c (diff) | |
download | afl++-f2b7104cd6c808c2caceb1314a19f4dbcfd087d7.tar.gz |
Fix endianness of coverage data on big endian systems
Diffstat (limited to 'frida_mode/src')
-rw-r--r-- | frida_mode/src/instrument/instrument_coverage.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/frida_mode/src/instrument/instrument_coverage.c b/frida_mode/src/instrument/instrument_coverage.c index 68842feb..07d4d622 100644 --- a/frida_mode/src/instrument/instrument_coverage.c +++ b/frida_mode/src/instrument/instrument_coverage.c @@ -317,6 +317,12 @@ static void coverage_write_events(void *key, void *value, void *user_data) { }; +#if (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) + evt.offset = __builtin_bswap32(evt.offset); + evt.length = __builtin_bswap16(evt.length); + evt.module = __builtin_bswap16(evt.module); +#endif + coverage_write(fd, &evt, sizeof(coverage_event_t)); } |