diff options
author | Bodo Möller <bodo@openssl.org> | 2011-09-05 13:31:17 +0000 |
---|---|---|
committer | Bodo Möller <bodo@openssl.org> | 2011-09-05 13:31:17 +0000 |
commit | 612fcfbd290d4dba96945c7c5bc8ea0c75ffefa1 (patch) | |
tree | 99832426a2bb250ca9ff5637b561eaff930da24e /ssl/ssl_asn1.c | |
parent | e7928282d0148af5f28fa3437a625a2006af0214 (diff) | |
download | openssl-612fcfbd290d4dba96945c7c5bc8ea0c75ffefa1.tar.gz |
Fix d2i_SSL_SESSION.
Diffstat (limited to 'ssl/ssl_asn1.c')
-rw-r--r-- | ssl/ssl_asn1.c | 13 |
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 |