From 3fd47bdff30c2067ba8292d9189ec342c77f5825 Mon Sep 17 00:00:00 2001 From: David Garske Date: Thu, 3 May 2018 13:39:37 -0700 Subject: [PATCH] Fix for example client/server with `-H exitWithRet` option to make sure all cleanup is performed. Resolves valgrind report due to `TicketCleanup()` not being called. --- examples/client/client.c | 4 +++- examples/server/server.c | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/examples/client/client.c b/examples/client/client.c index 0c951d65f..61efdd19d 100644 --- a/examples/client/client.c +++ b/examples/client/client.c @@ -2115,7 +2115,7 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args) /* if you're getting an error here */ ((func_args*)args)->return_code = err; - return 0; + goto exit; } showPeer(ssl); @@ -2577,6 +2577,8 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args) ((func_args*)args)->return_code = 0; +exit: + #ifdef WOLFSSL_ASYNC_CRYPT wolfAsync_DevClose(&devId); #endif diff --git a/examples/server/server.c b/examples/server/server.c index d9083a3f3..0a44095ed 100644 --- a/examples/server/server.c +++ b/examples/server/server.c @@ -1490,7 +1490,7 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args) err_sys_ex(runWithErrors, "SSL_accept failed"); ((func_args*)args)->return_code = err; - return 0; + goto exit; } showPeer(ssl); @@ -1677,6 +1677,7 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args) ((func_args*)args)->return_code = 0; +exit: #if defined(NO_MAIN_DRIVER) && defined(HAVE_ECC) && defined(FP_ECC) \ && defined(HAVE_THREAD_LS)