[openssl-commits] [openssl] master update

Rich Salz rsalz at openssl.org
Wed Mar 8 14:48:41 UTC 2017


The branch master has been updated
       via  6aad9393680ccde591905c8d71da92a241756394 (commit)
      from  4f7b76bf0f255c0a04eb3e47361a00b19f16120d (commit)


- Log -----------------------------------------------------------------
commit 6aad9393680ccde591905c8d71da92a241756394
Author: Roberto Guimaraes <rguimaraes at fastly.com>
Date:   Sun Feb 26 15:47:40 2017 -0800

    this change will prevent undefined behavior when src and dst are equal (memcpy), effectively allowing setting length only in both functions.
    
    CLA: trivial
    
    Reviewed-by: Matt Caswell <matt at openssl.org>
    Reviewed-by: Rich Salz <rsalz at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/2750)

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

Summary of changes:
 ssl/ssl_sess.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/ssl/ssl_sess.c b/ssl/ssl_sess.c
index 2e69176..ab19497 100644
--- a/ssl/ssl_sess.c
+++ b/ssl/ssl_sess.c
@@ -835,7 +835,8 @@ int SSL_SESSION_set1_id(SSL_SESSION *s, const unsigned char *sid,
       return 0;
     }
     s->session_id_length = sid_len;
-    memcpy(s->session_id, sid, sid_len);
+    if (sid != s->session_id)
+        memcpy(s->session_id, sid, sid_len);
     return 1;
 }
 
@@ -921,7 +922,8 @@ int SSL_SESSION_set1_id_context(SSL_SESSION *s, const unsigned char *sid_ctx,
         return 0;
     }
     s->sid_ctx_length = sid_ctx_len;
-    memcpy(s->sid_ctx, sid_ctx, sid_ctx_len);
+    if (sid_ctx != s->sid_ctx)
+        memcpy(s->sid_ctx, sid_ctx, sid_ctx_len);
 
     return 1;
 }


More information about the openssl-commits mailing list