X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=ssl%2Fssl_asn1.c;h=38540be1e5380615391037e67a02fe8ae3816641;hb=d47c01a31a67ff4370b1883a58cabd0279752bb4;hp=d02c3af53bdb3e0e71c0d3c843fe03f2dcce9b61;hpb=edc032b5e3f3ebb1006a9c89e0ae00504f47966f;p=oweals%2Fopenssl.git diff --git a/ssl/ssl_asn1.c b/ssl/ssl_asn1.c index d02c3af53b..38540be1e5 100644 --- a/ssl/ssl_asn1.c +++ b/ssl/ssl_asn1.c @@ -84,7 +84,6 @@ #include #include -#include #include "ssl_locl.h" #include #include @@ -572,6 +571,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 @@ -614,7 +626,7 @@ SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp, #ifndef OPENSSL_NO_SRP os.length=0; os.data=NULL; - M_ASN1_D2I_get_EXP_opt(osp,d2i_ASN1_OCTET_STRING,11); + M_ASN1_D2I_get_EXP_opt(osp,d2i_ASN1_OCTET_STRING,12); if (os.data) { ret->srp_username = BUF_strndup((char *)os.data, os.length);