aboutsummaryrefslogtreecommitdiffstats
path: root/ssl/ssl_asn1.c
diff options
context:
space:
mode:
authorBodo Möller <bodo@openssl.org>2011-09-05 13:31:17 +0000
committerBodo Möller <bodo@openssl.org>2011-09-05 13:31:17 +0000
commit612fcfbd290d4dba96945c7c5bc8ea0c75ffefa1 (patch)
tree99832426a2bb250ca9ff5637b561eaff930da24e /ssl/ssl_asn1.c
parente7928282d0148af5f28fa3437a625a2006af0214 (diff)
downloadopenssl-612fcfbd290d4dba96945c7c5bc8ea0c75ffefa1.tar.gz
Fix d2i_SSL_SESSION.
Diffstat (limited to 'ssl/ssl_asn1.c')
-rw-r--r--ssl/ssl_asn1.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/ssl/ssl_asn1.c b/ssl/ssl_asn1.c
index d02c3af53b..8fa8c669b1 100644
--- a/ssl/ssl_asn1.c
+++ b/ssl/ssl_asn1.c
@@ -572,6 +572,19 @@ SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp,
}
else
ret->psk_identity_hint=NULL;
+
+ os.length=0;
+ os.data=NULL;
+ M_ASN1_D2I_get_EXP_opt(osp,d2i_ASN1_OCTET_STRING,8);
+ if (os.data)
+ {
+ ret->psk_identity = BUF_strndup((char *)os.data, os.length);
+ OPENSSL_free(os.data);
+ os.data = NULL;
+ os.length = 0;
+ }
+ else
+ ret->psk_identity=NULL;
#endif /* OPENSSL_NO_PSK */
#ifndef OPENSSL_NO_TLSEXT