diff options
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libssl/ssl_asn1.c | 5 | 
1 files changed, 3 insertions, 2 deletions
| diff --git a/src/lib/libssl/ssl_asn1.c b/src/lib/libssl/ssl_asn1.c index 1638c6b525..3723fc2e37 100644 --- a/src/lib/libssl/ssl_asn1.c +++ b/src/lib/libssl/ssl_asn1.c | |||
| @@ -294,10 +294,11 @@ SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, unsigned char **pp, | |||
| 294 | i=SSL2_MAX_SSL_SESSION_ID_LENGTH; | 294 | i=SSL2_MAX_SSL_SESSION_ID_LENGTH; | 
| 295 | 295 | ||
| 296 | if (os.length > i) | 296 | if (os.length > i) | 
| 297 | os.length=i; | 297 | os.length = i; | 
| 298 | if (os.length > sizeof ret->session_id) /* can't happen */ | ||
| 299 | os.length = sizeof ret->session_id; | ||
| 298 | 300 | ||
| 299 | ret->session_id_length=os.length; | 301 | ret->session_id_length=os.length; | 
| 300 | die(os.length <= sizeof ret->session_id); | ||
| 301 | memcpy(ret->session_id,os.data,os.length); | 302 | memcpy(ret->session_id,os.data,os.length); | 
| 302 | 303 | ||
| 303 | M_ASN1_D2I_get(osp,d2i_ASN1_OCTET_STRING); | 304 | M_ASN1_D2I_get(osp,d2i_ASN1_OCTET_STRING); | 
