diff --git a/src/ssl.c b/src/ssl.c index bc62c71d4..f9582a94f 100644 --- a/src/ssl.c +++ b/src/ssl.c @@ -46003,6 +46003,9 @@ int wolfSSL_PEM_write_bio_X509(WOLFSSL_BIO *bio, WOLFSSL_X509 *cert) /* write the PEM to BIO */ ret = wolfSSL_BIO_write(bio, pem, pemSz); XFREE(pem, NULL, DYNAMIC_TYPE_TMP_BUFFER); + #ifdef WOLFSSL_SMALL_STACK + XFREE(der, NULL, DYNAMIC_TYPE_TMP_BUFFER); + #endif if (ret <= 0) return WOLFSSL_FAILURE; return WOLFSSL_SUCCESS; diff --git a/tests/api.c b/tests/api.c index 8f31f97be..a2f8f8151 100644 --- a/tests/api.c +++ b/tests/api.c @@ -37659,6 +37659,7 @@ static void test_wolfSSL_PEM_write_bio_X509(void) #endif AssertIntEQ(wolfSSL_BIO_get_len(output), expectedLen); + X509_free(x509); BIO_free(input); BIO_free(output);