Fix undefined behaviour in the event of a zero length session id
[openssl.git] / ssl / ssl_sess.c
index eaa9595f8c2f2ecbcb064848d6f075fcea270362..3857e027ee0d1b1cf0a303e80a9ebca245710df3 100644 (file)
@@ -907,8 +907,9 @@ int SSL_SESSION_set1_id(SSL_SESSION *s, const unsigned char *sid,
       return 0;
     }
     s->session_id_length = sid_len;
-    if (sid != s->session_id)
+    if (sid != s->session_id && sid_len > 0)
         memcpy(s->session_id, sid, sid_len);
+
     return 1;
 }