Compare commits

...

8 Commits
v4.09c ... 1587

Author SHA1 Message Date
19c932252b Merge pull request #1591 from AFLplusplus/dev
Dev
2022-11-23 10:28:27 +01:00
c44cc70f5f Merge pull request #1587 from SanWieb/cmplog_additional_optimisations
Tighten the I2S condition for CmpLog and check if repl == buf
2022-11-19 12:14:40 +01:00
51b0525348 Seperate the additional optimisations 2022-11-18 15:31:49 +01:00
d1e1bbc713 Merge pull request #1553 from AFLplusplus/dev
4.05a init
2022-10-12 17:09:49 +02:00
cbfa5207ba Merge pull request #1551 from AFLplusplus/dev
push to stable
2022-10-11 15:40:55 +02:00
7e0171006a Merge pull request #1537 from AFLplusplus/dev
push to stable
2022-09-28 22:56:28 +02:00
ad4b727476 Merge pull request #1527 from AFLplusplus/dev
push to stable
2022-09-20 17:37:20 +02:00
badd9694d2 Merge pull request #1525 from AFLplusplus/dev
push to stable
2022-09-17 11:58:41 +02:00

View File

@ -1139,7 +1139,8 @@ static u8 cmp_extend_encoding(afl_state_t *afl, struct cmp_header *h,
// if this is an fcmp (attr & 8 == 8) then do not compare the patterns -
// due to a bug in llvm dynamic float bitcasts do not work :(
// the value 16 means this is a +- 1.0 test case
if (its_len >= 8 && ((*buf_64 == pattern && *o_buf_64 == o_pattern) ||
if (its_len >= 8 && *buf_64 != repl &&
((*buf_64 == pattern && *o_buf_64 == o_pattern) ||
attr >= IS_FP_MOD)) {
u64 tmp_64 = *buf_64;
@ -1179,7 +1180,7 @@ static u8 cmp_extend_encoding(afl_state_t *afl, struct cmp_header *h,
// its_len, idx, attr, *buf_32, (u32)pattern, *o_buf_32,
// (u32)o_pattern, (u32)repl, (u32)changed_val);
if (its_len >= 4 &&
if (its_len >= 4 && *buf_32 != (u32) repl &&
((*buf_32 == (u32)pattern && *o_buf_32 == (u32)o_pattern) ||
attr >= IS_FP_MOD)) {
@ -1213,7 +1214,7 @@ static u8 cmp_extend_encoding(afl_state_t *afl, struct cmp_header *h,
if (hshape >= 2 && *status != 1) {
if (its_len >= 2 &&
if (its_len >= 2 && *buf_16 != (u16) repl &&
((*buf_16 == (u16)pattern && *o_buf_16 == (u16)o_pattern) ||
attr >= IS_FP_MOD)) {
@ -1251,7 +1252,7 @@ static u8 cmp_extend_encoding(afl_state_t *afl, struct cmp_header *h,
// its_len, idx, attr, *buf_8, (u8)pattern, *o_buf_8,
// (u8)o_pattern, (u8)repl, (u8)changed_val);
if (its_len >= 1 &&
if (its_len >= 1 && *buf_8 != (u8) repl &&
((*buf_8 == (u8)pattern && *o_buf_8 == (u8)o_pattern) ||
attr >= IS_FP_MOD)) {
@ -2057,7 +2058,7 @@ static u8 rtn_extend_encoding(afl_state_t *afl, u8 entry,
for (i = 0; i < its_len; ++i) {
if ((pattern[i] != buf[idx + i] && o_pattern[i] != orig_buf[idx + i]) ||
if (pattern[i] != buf[idx + i] || o_pattern[i] != orig_buf[idx + i] ||
*status == 1) {
break;