Fix i2d_SSL_SESSION pp output parameter should point to end of asn1 data.
authorBernd Edlinger <bernd.edlinger@hotmail.de>
Mon, 13 Feb 2017 12:03:52 +0000 (13:03 +0100)
committerRichard Levitte <levitte@openssl.org>
Tue, 21 Feb 2017 23:47:15 +0000 (00:47 +0100)
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/2607)

ssl/ssl_asn1.c

index 73ba78dbe573f0186f10df17d7ffcbef0d23134b..81414719151d461ff108dcc29678f98d6c1b5e3a 100644 (file)
@@ -281,8 +281,8 @@ SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp,
         goto err;
     }
 
-    p = as->cipher->data;
-    id = 0x03000000L | ((unsigned long)p[0] << 8L) | (unsigned long)p[1];
+    id = 0x03000000L | ((unsigned long)as->cipher->data[0] << 8L)
+                     | (unsigned long)as->cipher->data[1];
 
     ret->cipher_id = id;
     ret->cipher = ssl3_get_cipher_by_id(id);