From: Ivo Manca Date: Tue, 31 May 2016 11:42:00 +0000 (+0200) Subject: Plug memory leak in mbedTLS backend X-Git-Tag: v2.4_alpha1~82 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cd538f2c7a128395284d23f9c30741217075503f;p=thirdparty%2Fopenvpn.git Plug memory leak in mbedTLS backend Signed-off-by: Ivo Manca Acked-by: Steffan Karger Acked-by: Arne Schwabe Acked-by: Gert Doering Message-Id: <1464694920-3624-1-git-send-email-pinkel@gmail.com> URL: http://article.gmane.org/gmane.network.openvpn.devel/11751 Signed-off-by: David Sommerseth --- diff --git a/src/openvpn/ssl_verify_mbedtls.c b/src/openvpn/ssl_verify_mbedtls.c index 9c4b51a78..522ff68c4 100644 --- a/src/openvpn/ssl_verify_mbedtls.c +++ b/src/openvpn/ssl_verify_mbedtls.c @@ -162,7 +162,7 @@ backend_x509_get_serial (mbedtls_x509_crt *cert, struct gc_arena *gc) cert->serial.len))) { msg(M_WARN, "Failed to retrieve serial from certificate."); - return NULL; + goto end; } /* Determine decimal representation length, allocate buffer */ @@ -173,9 +173,12 @@ backend_x509_get_serial (mbedtls_x509_crt *cert, struct gc_arena *gc) if (!mbed_ok(mbedtls_mpi_write_string(&serial_mpi, 10, buf, buflen, &buflen))) { msg(M_WARN, "Failed to write serial to string."); - return NULL; + buf = NULL; + goto end; } +end: + mbedtls_mpi_free(&serial_mpi); return buf; }