[openssl] master update

Matt Caswell matt at openssl.org
Fri Jan 8 10:43:51 UTC 2021


The branch master has been updated
       via  d0afb30ef3950cacff50ec539e90073b95a276df (commit)
      from  3d0b6494d5a973d516e0944bc02b22385fca318a (commit)


- Log -----------------------------------------------------------------
commit d0afb30ef3950cacff50ec539e90073b95a276df
Author: Matt Caswell <matt at openssl.org>
Date:   Thu Dec 10 10:36:23 2020 +0000

    Ensure DTLS free functions can handle NULL
    
    Our free functions should be able to deal with the case where the object
    being freed is NULL. This turns out to not be quite the case for DTLS
    related objects.
    
    Fixes #13649
    
    Reviewed-by: Tomas Mraz <tmraz at fedoraproject.org>
    (Merged from https://github.com/openssl/openssl/pull/13655)

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

Summary of changes:
 ssl/d1_lib.c              | 9 +++++----
 ssl/record/rec_layer_d1.c | 3 +++
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/ssl/d1_lib.c b/ssl/d1_lib.c
index cc41eee976..62c5f26e5d 100644
--- a/ssl/d1_lib.c
+++ b/ssl/d1_lib.c
@@ -142,10 +142,11 @@ void dtls1_free(SSL *s)
 
     ssl3_free(s);
 
-    dtls1_clear_queues(s);
-
-    pqueue_free(s->d1->buffered_messages);
-    pqueue_free(s->d1->sent_messages);
+    if (s->d1 != NULL) {
+        dtls1_clear_queues(s);
+        pqueue_free(s->d1->buffered_messages);
+        pqueue_free(s->d1->sent_messages);
+    }
 
     OPENSSL_free(s->d1);
     s->d1 = NULL;
diff --git a/ssl/record/rec_layer_d1.c b/ssl/record/rec_layer_d1.c
index cc412bae37..10321ce015 100644
--- a/ssl/record/rec_layer_d1.c
+++ b/ssl/record/rec_layer_d1.c
@@ -46,6 +46,9 @@ int DTLS_RECORD_LAYER_new(RECORD_LAYER *rl)
 
 void DTLS_RECORD_LAYER_free(RECORD_LAYER *rl)
 {
+    if (rl->d == NULL)
+        return;
+
     DTLS_RECORD_LAYER_clear(rl);
     pqueue_free(rl->d->unprocessed_rcds.q);
     pqueue_free(rl->d->processed_rcds.q);


More information about the openssl-commits mailing list