The branch master has been updated
       via  398ae8231650c4bd8ddff0e5efd38233c23b1ca0 (commit)
      from  c2ee608a234340aa735f894f8d84ead0ce58286e (commit)


- Log -----------------------------------------------------------------
commit 398ae8231650c4bd8ddff0e5efd38233c23b1ca0
Author: Tomas Mraz <[email protected]>
Date:   Mon Sep 27 09:45:31 2021 +0200

    BIO_ctrl: Avoid spurious error being raised on NULL bio parameter
    
    Some of the functions are being called on NULL bio with the
    expectation that such call will not raise an error.
    
    Fixes #16681
    
    Reviewed-by: Paul Dale <[email protected]>
    Reviewed-by: Shane Lontis <[email protected]>
    (Merged from https://github.com/openssl/openssl/pull/16686)

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

Summary of changes:
 crypto/bio/bio_lib.c | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/crypto/bio/bio_lib.c b/crypto/bio/bio_lib.c
index 25df70f760..b5454f14b2 100644
--- a/crypto/bio/bio_lib.c
+++ b/crypto/bio/bio_lib.c
@@ -563,10 +563,8 @@ long BIO_ctrl(BIO *b, int cmd, long larg, void *parg)
 {
     long ret;
 
-    if (b == NULL) {
-        ERR_raise(ERR_LIB_BIO, ERR_R_PASSED_NULL_PARAMETER);
+    if (b == NULL)
         return -1;
-    }
     if (b->method == NULL || b->method->ctrl == NULL) {
         ERR_raise(ERR_LIB_BIO, BIO_R_UNSUPPORTED_METHOD);
         return -2;
@@ -591,10 +589,8 @@ long BIO_callback_ctrl(BIO *b, int cmd, BIO_info_cb *fp)
 {
     long ret;
 
-    if (b == NULL) {
-        ERR_raise(ERR_LIB_BIO, ERR_R_PASSED_NULL_PARAMETER);
+    if (b == NULL)
         return -2;
-    }
     if (b->method == NULL || b->method->callback_ctrl == NULL
             || cmd != BIO_CTRL_SET_CALLBACK) {
         ERR_raise(ERR_LIB_BIO, BIO_R_UNSUPPORTED_METHOD);
@@ -655,10 +651,8 @@ BIO *BIO_pop(BIO *b)
 {
     BIO *ret;
 
-    if (b == NULL) {
-        ERR_raise(ERR_LIB_BIO, ERR_R_PASSED_NULL_PARAMETER);
+    if (b == NULL)
         return NULL;
-    }
     ret = b->next_bio;
 
     BIO_ctrl(b, BIO_CTRL_POP, 0, b);
@@ -728,10 +722,8 @@ BIO *BIO_find_type(BIO *bio, int type)
 
 BIO *BIO_next(BIO *b)
 {
-    if (b == NULL) {
-        ERR_raise(ERR_LIB_BIO, ERR_R_PASSED_NULL_PARAMETER);
+    if (b == NULL)
         return NULL;
-    }
     return b->next_bio;
 }
 

Reply via email to