From e185a9b7ca0939f469ce74822b0ff4315f60857f Mon Sep 17 00:00:00 2001 From: Jacob Barthelmeh Date: Thu, 6 May 2021 11:44:46 +0700 Subject: [PATCH 1/3] reset pointer on SMIME fail case --- src/ssl.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ssl.c b/src/ssl.c index 662bc962d..8cc83d6ca 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -54735,6 +54735,7 @@ error: if (canonSection != NULL) XFREE(canonSection, NULL, DYNAMIC_TYPE_PKCS7); wolfSSL_BIO_free(*bcont); + *bcont = NULL; /* reset 'bcount' pointer to NULL on failure */ return NULL; } From 2c2f389373fa9dcdafc7a9059a3c73ab10bb0370 Mon Sep 17 00:00:00 2001 From: Jacob Barthelmeh Date: Thu, 6 May 2021 12:11:52 +0700 Subject: [PATCH 2/3] set pointer to null after free --- src/ssl.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ssl.c b/src/ssl.c index 8cc83d6ca..53d038a5d 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -54610,6 +54610,7 @@ WOLFSSL_API PKCS7* wolfSSL_SMIME_read_PKCS7(WOLFSSL_BIO* in, wc_MIME_free_hdrs(allHdrs); + allHdrs = NULL; section[0] = '\0'; sectionLen = 0; lineLen = wolfSSL_BIO_gets(in, section, remainLen); @@ -54721,6 +54722,7 @@ WOLFSSL_API PKCS7* wolfSSL_SMIME_read_PKCS7(WOLFSSL_BIO* in, wc_MIME_free_hdrs(allHdrs); + allHdrs = NULL; XFREE(outHead, NULL, DYNAMIC_TYPE_PKCS7); XFREE(section, NULL, DYNAMIC_TYPE_PKCS7); @@ -54729,6 +54731,7 @@ WOLFSSL_API PKCS7* wolfSSL_SMIME_read_PKCS7(WOLFSSL_BIO* in, error: wc_MIME_free_hdrs(allHdrs); + allHdrs = NULL; XFREE(boundary, NULL, DYNAMIC_TYPE_PKCS7); XFREE(outHead, NULL, DYNAMIC_TYPE_PKCS7); XFREE(section, NULL, DYNAMIC_TYPE_PKCS7); From 34d8073fbd99a07bf72e73997dc2da0a4c8347a0 Mon Sep 17 00:00:00 2001 From: Jacob Barthelmeh Date: Tue, 8 Jun 2021 22:45:28 +0700 Subject: [PATCH 3/3] remove dead code --- src/ssl.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/ssl.c b/src/ssl.c index 53d038a5d..b335bd457 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -54722,7 +54722,6 @@ WOLFSSL_API PKCS7* wolfSSL_SMIME_read_PKCS7(WOLFSSL_BIO* in, wc_MIME_free_hdrs(allHdrs); - allHdrs = NULL; XFREE(outHead, NULL, DYNAMIC_TYPE_PKCS7); XFREE(section, NULL, DYNAMIC_TYPE_PKCS7); @@ -54731,7 +54730,6 @@ WOLFSSL_API PKCS7* wolfSSL_SMIME_read_PKCS7(WOLFSSL_BIO* in, error: wc_MIME_free_hdrs(allHdrs); - allHdrs = NULL; XFREE(boundary, NULL, DYNAMIC_TYPE_PKCS7); XFREE(outHead, NULL, DYNAMIC_TYPE_PKCS7); XFREE(section, NULL, DYNAMIC_TYPE_PKCS7);