From: Fabian Keil <fk@fabiankeil.de>
Date: Tue, 5 Jan 2021 00:12:04 +0000 (+0100)
Subject: ssl_store_cert(): Check BIO_get_mem_data() return code
X-Git-Tag: v_3_0_30~145
X-Git-Url: http://www.privoxy.org/gitweb/%22https:/faq/@default-cgi@/user-manual/static/coding.html?a=commitdiff_plain;h=bf3617413ce8781d84af3b67bfcb4f59b59a40e7;p=privoxy.git

ssl_store_cert(): Check BIO_get_mem_data() return code
---

diff --git a/openssl.c b/openssl.c
index ecfb6bf8..e3717af5 100644
--- a/openssl.c
+++ b/openssl.c
@@ -654,6 +654,13 @@ static int ssl_store_cert(struct client_state *csp, X509* crt)
    BIO_write(bio, &zero, 1);
 
    len = BIO_get_mem_data(bio, &bio_mem_data);
+   if (len <= 0)
+   {
+      log_error(LOG_LEVEL_ERROR, "BIO_get_mem_data() returned %d "
+         "while gathering certificate information", len);
+      ret = -1;
+      goto exit;
+   }
    encoded_text = html_encode(bio_mem_data);
    if (encoded_text == NULL)
    {