From: Mike Bland Date: Thu, 1 May 2014 14:08:18 +0000 (-0400) Subject: More through error checks in set_up X-Git-Tag: master-post-reformat~804^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f5ad068b01a4adae1e1dd4103b5ce7e5e1442f6c;p=thirdparty%2Fopenssl.git More through error checks in set_up Checks the return values of ssl_init_wbio_buffer() and ssl3_setup_buffers(). --- diff --git a/ssl/heartbeat_test.c b/ssl/heartbeat_test.c index 35985f836c..23ae0532d5 100644 --- a/ssl/heartbeat_test.c +++ b/ssl/heartbeat_test.c @@ -68,6 +68,7 @@ static HEARTBEAT_TEST_FIXTURE set_up(const char* const test_case_name, const SSL_METHOD* meth) { HEARTBEAT_TEST_FIXTURE fixture; + int setup_ok = 1; memset(&fixture, 0, sizeof(fixture)); fixture.test_case_name = test_case_name; @@ -75,7 +76,8 @@ static HEARTBEAT_TEST_FIXTURE set_up(const char* const test_case_name, if (!fixture.ctx) { fprintf(stderr, "Failed to allocate SSL_CTX for test: %s\n", - test_case_name); + test_case_name); + setup_ok = 0; goto fail; } @@ -83,14 +85,28 @@ static HEARTBEAT_TEST_FIXTURE set_up(const char* const test_case_name, if (!fixture.s) { fprintf(stderr, "Failed to allocate SSL for test: %s\n", test_case_name); + setup_ok = 0; goto fail; } - ssl_init_wbio_buffer(fixture.s, 1); - ssl3_setup_buffers(fixture.s); + if (!ssl_init_wbio_buffer(fixture.s, 1)) + { + fprintf(stderr, "Failed to set up wbio buffer for test: %s\n", + test_case_name); + setup_ok = 0; + goto fail; + } + + if (!ssl3_setup_buffers(fixture.s)) + { + fprintf(stderr, "Failed to setup buffers for test: %s\n", + test_case_name); + setup_ok = 0; + goto fail; + } fail: - if (!fixture.s) + if (!setup_ok) { ERR_print_errors_fp(stderr); exit(EXIT_FAILURE);