diff options
| author | Andrea Fioraldi <andreafioraldi@gmail.com> | 2021-01-29 15:38:49 +0100 |
|---|---|---|
| committer | Andrea Fioraldi <andreafioraldi@gmail.com> | 2021-01-29 15:38:49 +0100 |
| commit | 6f5746d42878207b5d17af71317220932a42ebd7 (patch) | |
| tree | cbac26eb9691c6319bf1bb1312e29f1b4a2f6ac2 /src/afl-analyze.c | |
| parent | 4488e8e10a6ea801fd32e88eddb142ecc3024908 (diff) | |
| download | afl++-6f5746d42878207b5d17af71317220932a42ebd7.tar.gz | |
AFL_USE_QASAN
Diffstat (limited to 'src/afl-analyze.c')
| -rw-r--r-- | src/afl-analyze.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/afl-analyze.c b/src/afl-analyze.c index 0af489fe..28598ba0 100644 --- a/src/afl-analyze.c +++ b/src/afl-analyze.c @@ -1078,6 +1078,31 @@ int main(int argc, char **argv_orig, char **envp) { if (optind == argc || !in_file) { usage(argv[0]); } + if (qemu_mode && getenv("AFL_USE_QASAN")) { + + u8* preload = getenv("AFL_PRELOAD"); + u8* libqasan = get_libqasan_path(argv_orig[0]); + + if (!preload) { + + setenv("AFL_PRELOAD", libqasan, 0); + + } else { + + u8 *result = ck_alloc(strlen(libqasan) + strlen(preload) + 2); + strcpy(result, libqasan); + strcat(result, " "); + strcat(result, preload); + + setenv("AFL_PRELOAD", result, 1); + ck_free(result); + + } + + ck_free(libqasan); + + } + map_size = get_map_size(); use_hex_offsets = !!get_afl_env("AFL_ANALYZE_HEX"); |
