| Index: third_party/afl/src/afl-gcc.c
|
| diff --git a/third_party/afl/src/afl-gcc.c b/third_party/afl/src/afl-gcc.c
|
| index 1a588da978e5e5eca9ea801d463c587081c3135b..fa3dec1aaeb0d43ad70793baf2f29249b160ea1c 100644
|
| --- a/third_party/afl/src/afl-gcc.c
|
| +++ b/third_party/afl/src/afl-gcc.c
|
| @@ -229,18 +229,27 @@ static void edit_params(u32 argc, char** argv) {
|
|
|
| } else if (getenv("AFL_USE_ASAN")) {
|
|
|
| - cc_params[cc_par_cnt++] = "-fsanitize=address";
|
| -
|
| if (getenv("AFL_USE_MSAN"))
|
| FATAL("ASAN and MSAN are mutually exclusive");
|
|
|
| - } else if (getenv("AFL_USE_MSAN")) {
|
| + if (getenv("AFL_HARDEN"))
|
| + FATAL("ASAN and AFL_HARDEN are mutually exclusive");
|
|
|
| - cc_params[cc_par_cnt++] = "-fsanitize=memory";
|
| + cc_params[cc_par_cnt++] = "-U_FORTIFY_SOURCE";
|
| + cc_params[cc_par_cnt++] = "-fsanitize=address";
|
| +
|
| + } else if (getenv("AFL_USE_MSAN")) {
|
|
|
| if (getenv("AFL_USE_ASAN"))
|
| FATAL("ASAN and MSAN are mutually exclusive");
|
|
|
| + if (getenv("AFL_HARDEN"))
|
| + FATAL("MSAN and AFL_HARDEN are mutually exclusive");
|
| +
|
| + cc_params[cc_par_cnt++] = "-U_FORTIFY_SOURCE";
|
| + cc_params[cc_par_cnt++] = "-fsanitize=memory";
|
| +
|
| +
|
| }
|
|
|
| if (!getenv("AFL_DONT_OPTIMIZE")) {
|
| @@ -314,7 +323,6 @@ int main(int argc, char** argv) {
|
|
|
| }
|
|
|
| -
|
| find_as(argv[0]);
|
|
|
| edit_params(argc, argv);
|
|
|