You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{
Suite*s=make_sub_suite();
SRunner*sr=srunner_create(s);
init_signal_strings();
/* * Create files that will contain the test names and line numbers of the failures * in check_check_sub.c, as they occur. */#if !HAVE_MKSTEMPtest_names_file_name=tempnam(NULL, "check_test_names_");
test_names_file=fopen(test_names_file_name, "w+b");
line_num_failures_file_name=tempnam(NULL, "check_error_linenums_");
line_num_failures=fopen(line_num_failures_file_name, "w+b");
#elsetest_names_file_name=strdup("check_test_names__XXXXXX");
assert(test_names_file_name!=NULL&&"strdup() failed");
test_names_file=fdopen(mkstemp(test_names_file_name), "w+b");
line_num_failures_file_name=strdup("check_error_linenums_XXXXXX");
assert(line_num_failures_file_name!=NULL&&"strdup() failed");
line_num_failures=fdopen(mkstemp(line_num_failures_file_name), "w+b");
#endifsrunner_add_suite(sr, make_sub2_suite());
srunner_run_all(sr, CK_VERBOSE);
tr_fail_array=srunner_failures(sr);
tr_all_array=srunner_results(sr);
sub_nfailed=srunner_ntests_failed(sr);
sub_ntests=srunner_ntests_run(sr);
}
Thanks for running Check with Clang's ASAN and sharing the results.
As a part of Check's own tests there are several cases which intentionally raise SIGFPE (here and here) and SIGSEGV (here, here, and here) to verify that the behavior can be caught and reported. I do not think that the sanitizer output shows failures in Check itself, but instead show that some of Check's tests are intentionally doing bad things. The type and number of signals reported by ASAN is expected.
It is interesting that the ASAN reports show the state from the parent process observing the signal rather that the children which forked and caused the signal. Might the ASAN output from the forked children (which is where the tests run) not being captured or reported?
Hi Team,
Summary
While fuzzing check using clang 6.0 with ASAN multiple segfaults were observed in check_run.c, check_check_master.c and check_check_main.c.
Vulnerable code from check_run.c:
Vulnerable code from check_check_master.c:
Vulnerable code from check_check_main.c:
Output from ASAN:
Kindly requesting the team to have a look and validate.
Thanks.
The text was updated successfully, but these errors were encountered: