fix afl-showmap and gcc plugin test

This commit is contained in:
van Hauser 2021-01-21 19:58:25 +01:00
parent 60764ebdf1
commit 30148bc1a9
2 changed files with 9 additions and 6 deletions

View File

@ -85,6 +85,7 @@ static u8 quiet_mode, /* Hide non-essential messages? */
keep_cores, /* Allow coredumps? */
remove_shm = 1, /* remove shmem? */
collect_coverage, /* collect coverage */
have_coverage, /* have coverage? */
no_classify; /* do not classify counts */
static volatile u8 stop_soon, /* Ctrl-C pressed? */
@ -316,7 +317,8 @@ static void showmap_run_target_forkserver(afl_forkserver_t *fsrv, u8 *mem,
}
if (fsrv->trace_bits[0] == 1) { fsrv->trace_bits[0] = 0; }
if (fsrv->trace_bits[0] == 1) { fsrv->trace_bits[0] = 0; have_coverage = 1; }
else { have_coverage = 0; }
if (!no_classify) { classify_counts(fsrv); }
@ -491,7 +493,8 @@ static void showmap_run_target(afl_forkserver_t *fsrv, char **argv) {
}
if (fsrv->trace_bits[0] == 1) { fsrv->trace_bits[0] = 0; }
if (fsrv->trace_bits[0] == 1) { fsrv->trace_bits[0] = 0; have_coverage = 1; }
else { have_coverage = 0; }
if (!no_classify) { classify_counts(fsrv); }
@ -1232,7 +1235,7 @@ int main(int argc, char **argv_orig, char **envp) {
if (!quiet_mode || collect_coverage) {
if (!tcnt) { FATAL("No instrumentation detected" cRST); }
if (!tcnt && !have_coverage) { FATAL("No instrumentation detected" cRST); }
OKF("Captured %u tuples (highest value %u, total values %llu) in "
"'%s'." cRST,
tcnt, highest, total, out_file);

View File

@ -86,15 +86,15 @@ test -e ../afl-gcc-fast -a -e ../afl-compiler-rt.o && {
# now for the special gcc_plugin things
echo foobar.c > instrumentlist.txt
AFL_GCC_INSTRUMENT_FILE=instrumentlist.txt ../afl-gcc-fast -o test-compcov test-compcov.c > /dev/null 2>&1
test -e test-compcov && test_compcov_binary_functionality ./test-compcov && {
echo 1 | ../afl-showmap -m ${MEM_LIMIT} -o - -r -- ./test-compcov 2>&1 | grep -q "Captured 1 tuples" && {
test -x test-compcov && test_compcov_binary_functionality ./test-compcov && {
echo 1 | ../afl-showmap -m ${MEM_LIMIT} -o - -r -- ./test-compcov 2>&1 | grep -q "Captured 0 tuples" && {
$ECHO "$GREEN[+] gcc_plugin instrumentlist feature works correctly"
} || {
$ECHO "$RED[!] gcc_plugin instrumentlist feature failed"
CODE=1
}
} || {
$ECHO "$RED[!] gcc_plugin instrumentlist feature compilation failed"
$ECHO "$RED[!] gcc_plugin instrumentlist feature compilation failed."
CODE=1
}
rm -f test-compcov test.out instrumentlist.txt