diff options
author | van Hauser <vh@thc.org> | 2020-02-05 17:33:02 +0100 |
---|---|---|
committer | van Hauser <vh@thc.org> | 2020-02-05 17:33:02 +0100 |
commit | 1edc392194ee6fad60057dce4aa2c9b5e2099451 (patch) | |
tree | 66f4a701bec9442fe27f246f4ac2f0d418180735 /src/afl-common.c | |
parent | 599f78a4bd9657f28a9ab0baeb9c001dbbba49a9 (diff) | |
download | afl++-1edc392194ee6fad60057dce4aa2c9b5e2099451.tar.gz |
afl-showmap fix
Diffstat (limited to 'src/afl-common.c')
-rw-r--r-- | src/afl-common.c | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/src/afl-common.c b/src/afl-common.c index 6cb97cdf..958b9b7d 100644 --- a/src/afl-common.c +++ b/src/afl-common.c @@ -72,23 +72,27 @@ void detect_file_args(char** argv, u8* prog_in) { if (!prog_in) FATAL("@@ syntax is not supported by this tool."); - /* Be sure that we're always using fully-qualified paths. */ + use_stdin = 0; - if (prog_in[0] == '/') - aa_subst = prog_in; - else - aa_subst = alloc_printf("%s/%s", cwd, prog_in); + if (prog_in[0] != 0) { // not afl-showmap special case - use_stdin = 0; + /* Be sure that we're always using fully-qualified paths. */ + + if (prog_in[0] == '/') + aa_subst = prog_in; + else + aa_subst = alloc_printf("%s/%s", cwd, prog_in); - /* Construct a replacement argv value. */ + /* Construct a replacement argv value. */ - *aa_loc = 0; - n_arg = alloc_printf("%s%s%s", argv[i], aa_subst, aa_loc + 2); - argv[i] = n_arg; - *aa_loc = '@'; + *aa_loc = 0; + n_arg = alloc_printf("%s%s%s", argv[i], aa_subst, aa_loc + 2); + argv[i] = n_arg; + *aa_loc = '@'; - if (prog_in[0] != '/') ck_free(aa_subst); + if (prog_in[0] != '/') ck_free(aa_subst); + + } } |