From f5ad068b01a4adae1e1dd4103b5ce7e5e1442f6c Mon Sep 17 00:00:00 2001 From: Mike Bland Date: Thu, 1 May 2014 10:08:18 -0400 Subject: [PATCH] More through error checks in set_up Checks the return values of ssl_init_wbio_buffer() and ssl3_setup_buffers(). --- ssl/heartbeat_test.c | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) 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); -- 2.25.1