Index: lib/fuzzer/afl/afl_driver.cpp =================================================================== --- lib/fuzzer/afl/afl_driver.cpp +++ lib/fuzzer/afl/afl_driver.cpp @@ -305,6 +305,19 @@ return 0; } +static int set_iterations(int *N, const char *arg) { + char *err; + long NL = strtol(arg, &err, 10); + if (NL < 1 || NL > INT_MAX || *err != '\0') { + fprintf(stderr, "WARNING: iterations invalid `%s`\n", + err); + return -1; + } else { + *N = (int)NL; + return 0; + } +} + int main(int argc, char **argv) { fprintf(stderr, "======================= INFO =========================\n" @@ -331,8 +344,8 @@ int N = 1000; if (argc == 2 && argv[1][0] == '-') - N = atoi(argv[1] + 1); - else if(argc == 2 && (N = atoi(argv[1])) > 0) + set_iterations(&N, argv[1] + 1); + else if(argc == 2 && (set_iterations(&N, argv[1])) == 0) fprintf(stderr, "WARNING: using the deprecated call style `%s %d`\n", argv[0], N); else if (argc > 1)