From ff92dd9819f54821c9dda2ed7b3cd7fbeccef1d8 Mon Sep 17 00:00:00 2001 From: zdenekc Date: Wed, 1 Jun 2011 09:42:35 +0000 Subject: [PATCH] * fix dead assignments and possible null pointer dereference git-svn-id: svn+ssh://svn.code.sf.net/p/check/code/trunk@604 64e312b2-a51f-0410-8e61-82d0ca0eb02a --- NEWS | 2 ++ src/check_log.c | 3 --- src/check_run.c | 31 +++++++++++++++++++------------ 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/NEWS b/NEWS index 0b4a56b..07402d1 100644 --- a/NEWS +++ b/NEWS @@ -13,6 +13,8 @@ In development. * Added longjmp to fail function to ensure that no code will be executed in test function after failed assertion +* Fix dead assignments and several possible NULL pointer dereferences + Tue, Sep 22, 2009: Released Check 0.9.8 based on r559 (2009-09-23 21:00). diff --git a/src/check_log.c b/src/check_log.c index 9b735e1..bec5aa4 100644 --- a/src/check_log.c +++ b/src/check_log.c @@ -169,7 +169,6 @@ void stdout_lfun (SRunner *sr, FILE *file, enum print_output printmode, } break; case CLEND_S: - s = obj; break; case CLSTART_T: break; @@ -204,7 +203,6 @@ void lfile_lfun (SRunner *sr, FILE *file, enum print_output printmode CK_ATTRIBU srunner_fprint (file, sr, CK_MINIMAL); break; case CLEND_S: - s = obj; break; case CLSTART_T: break; @@ -260,7 +258,6 @@ void xml_lfun (SRunner *sr CK_ATTRIBUTE_UNUSED, FILE *file, enum print_output pr break; case CLEND_S: fprintf(file, " \n"); - s = obj; break; case CLSTART_T: break; diff --git a/src/check_run.c b/src/check_run.c index 979a748..81bbbcd 100644 --- a/src/check_run.c +++ b/src/check_run.c @@ -187,8 +187,11 @@ static void srunner_iterate_tcase_tfuns (SRunner *sr, TCase *tc) default: eprintf("Bad fork status in SRunner", __FILE__, __LINE__); } - srunner_add_failure (sr, tr); - log_test_end(sr, tr); + + if ( NULL != tr ) { + srunner_add_failure (sr, tr); + log_test_end(sr, tr); + } } } } @@ -333,12 +336,14 @@ static TestResult *receive_result_info_nofork (const char *tcname, TestResult *tr; tr = receive_test_result(0); - if (tr == NULL) + if (tr == NULL) { eprintf("Failed to receive test result", __FILE__, __LINE__); - tr->tcname = tcname; - tr->tname = tname; - tr->iter = iter; - set_nofork_info(tr); + } else { + tr->tcname = tcname; + tr->tname = tname; + tr->iter = iter; + set_nofork_info(tr); + } return tr; } @@ -401,12 +406,14 @@ static TestResult *receive_result_info_fork (const char *tcname, TestResult *tr; tr = receive_test_result(waserror(status, expected_signal)); - if (tr == NULL) + if (tr == NULL) { eprintf("Failed to receive test result", __FILE__, __LINE__); - tr->tcname = tcname; - tr->tname = tname; - tr->iter = iter; - set_fork_info(tr, status, expected_signal, allowed_exit_value); + } else { + tr->tcname = tcname; + tr->tname = tname; + tr->iter = iter; + set_fork_info(tr, status, expected_signal, allowed_exit_value); + } return tr; } -- 2.50.1