diff options
author | van Hauser <vh@thc.org> | 2020-04-09 13:17:56 +0200 |
---|---|---|
committer | van Hauser <vh@thc.org> | 2020-04-09 13:17:56 +0200 |
commit | 1fab45024ba2c9f39f63d0078ca35c4ffd52b035 (patch) | |
tree | e784c4b6f336a098052182bdee7b0f57573e4610 | |
parent | e354235ebb46ab8451b96a1fd21003a37f59f86f (diff) | |
download | afl++-1fab45024ba2c9f39f63d0078ca35c4ffd52b035.tar.gz |
check for empty AFL env vars
-rw-r--r-- | src/afl-common.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/afl-common.c b/src/afl-common.c index 73b3fa8a..7eee5265 100644 --- a/src/afl-common.c +++ b/src/afl-common.c @@ -353,7 +353,7 @@ void check_environment_vars(char **envp) { if (be_quiet) return; int index = 0, found = 0; - char *env; + char *env, *val; while ((env = envp[index++]) != NULL) { if (strncmp(env, "ALF_", 4) == 0) { @@ -367,10 +367,21 @@ void check_environment_vars(char **envp) { while (match == 0 && afl_environment_variables[i] != NULL) if (strncmp(env, afl_environment_variables[i], strlen(afl_environment_variables[i])) == 0 && - env[strlen(afl_environment_variables[i])] == '=') + env[strlen(afl_environment_variables[i])] == '=') { + match = 1; - else + if ((val = getenv(afl_environment_variables[i])) && !*val) + WARNF( + "AFL environment variable %s defined but is empty, this can " + "lead to unexpected consequences", + afl_environment_variables[i]); + + } else { + i++; + + } + if (match == 0) { WARNF("Mistyped AFL environment variable: %s", env); |