Avoid questionable use of the value of a pointer
[openssl.git] / ssl / t1_lib.c
index 22a368defe296515fb0a202a349731bf3a4cea50..83e493eb7cca6f1e4063aae65d5740e8cdce63fb 100644 (file)
@@ -1311,10 +1311,11 @@ TICKET_RETURN tls_decrypt_ticket(SSL *s, const unsigned char *etick,
     p = sdec;
 
     sess = d2i_SSL_SESSION(NULL, &p, slen);
+    slen -= p - sdec;
     OPENSSL_free(sdec);
     if (sess) {
         /* Some additional consistency checks */
-        if (p != sdec + slen || sess->session_id_length != 0) {
+        if (slen != 0 || sess->session_id_length != 0) {
             SSL_SESSION_free(sess);
             return TICKET_NO_DECRYPT;
         }