[openssl-commits] [openssl] master update

Matt Caswell matt at openssl.org
Mon Mar 12 19:21:02 UTC 2018


The branch master has been updated
       via  4718f449a3ecd5efac62b22d0fa9a759a7895dbc (commit)
      from  e45b4dd292d8cd2a9f71c88784b72d831b3b6212 (commit)


- Log -----------------------------------------------------------------
commit 4718f449a3ecd5efac62b22d0fa9a759a7895dbc
Author: Matt Caswell <matt at openssl.org>
Date:   Mon Mar 12 13:56:34 2018 +0000

    Improve error handling in pk7_doit
    
    If a mem allocation failed we would ignore it. This commit fixes it to
    always check.
    
    Reviewed-by: Rich Salz <rsalz at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/5596)

-----------------------------------------------------------------------

Summary of changes:
 crypto/pkcs7/pk7_doit.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/crypto/pkcs7/pk7_doit.c b/crypto/pkcs7/pk7_doit.c
index c5baf04..4585031 100644
--- a/crypto/pkcs7/pk7_doit.c
+++ b/crypto/pkcs7/pk7_doit.c
@@ -316,16 +316,18 @@ BIO *PKCS7_dataInit(PKCS7 *p7, BIO *bio)
     }
 
     if (bio == NULL) {
-        if (PKCS7_is_detached(p7))
+        if (PKCS7_is_detached(p7)) {
             bio = BIO_new(BIO_s_null());
-        else if (os && os->length > 0)
+        } else if (os && os->length > 0) {
             bio = BIO_new_mem_buf(os->data, os->length);
-        if (bio == NULL) {
+        } else {
             bio = BIO_new(BIO_s_mem());
             if (bio == NULL)
                 goto err;
             BIO_set_mem_eof_return(bio, 0);
         }
+        if (bio == NULL)
+            goto err;
     }
     if (out)
         BIO_push(out, bio);


More information about the openssl-commits mailing list