diff options
author | markus <> | 2003-05-11 21:36:58 +0000 |
---|---|---|
committer | markus <> | 2003-05-11 21:36:58 +0000 |
commit | 1c98a87f0daac81245653c227eb2f2508a22a965 (patch) | |
tree | 3de6d603296ec563b936da4e6a8a1e33d48f8884 /src/lib/libssl/ssl_asn1.c | |
parent | 31392c89d1135cf2a416f97295f6d21681b3fbc4 (diff) | |
download | openbsd-1c98a87f0daac81245653c227eb2f2508a22a965.tar.gz openbsd-1c98a87f0daac81245653c227eb2f2508a22a965.tar.bz2 openbsd-1c98a87f0daac81245653c227eb2f2508a22a965.zip |
import 0.9.7b (without idea and rc5)
Diffstat (limited to 'src/lib/libssl/ssl_asn1.c')
-rw-r--r-- | src/lib/libssl/ssl_asn1.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/lib/libssl/ssl_asn1.c b/src/lib/libssl/ssl_asn1.c index 3723fc2e37..16bc11b559 100644 --- a/src/lib/libssl/ssl_asn1.c +++ b/src/lib/libssl/ssl_asn1.c | |||
@@ -299,6 +299,7 @@ SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, unsigned char **pp, | |||
299 | os.length = sizeof ret->session_id; | 299 | os.length = sizeof ret->session_id; |
300 | 300 | ||
301 | ret->session_id_length=os.length; | 301 | ret->session_id_length=os.length; |
302 | OPENSSL_assert(os.length <= sizeof ret->session_id); | ||
302 | memcpy(ret->session_id,os.data,os.length); | 303 | memcpy(ret->session_id,os.data,os.length); |
303 | 304 | ||
304 | M_ASN1_D2I_get(osp,d2i_ASN1_OCTET_STRING); | 305 | M_ASN1_D2I_get(osp,d2i_ASN1_OCTET_STRING); |
@@ -370,9 +371,15 @@ SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a, unsigned char **pp, | |||
370 | if(os.data != NULL) | 371 | if(os.data != NULL) |
371 | { | 372 | { |
372 | if (os.length > SSL_MAX_SID_CTX_LENGTH) | 373 | if (os.length > SSL_MAX_SID_CTX_LENGTH) |
374 | { | ||
375 | ret->sid_ctx_length=os.length; | ||
373 | SSLerr(SSL_F_D2I_SSL_SESSION,SSL_R_BAD_LENGTH); | 376 | SSLerr(SSL_F_D2I_SSL_SESSION,SSL_R_BAD_LENGTH); |
374 | ret->sid_ctx_length=os.length; | 377 | } |
375 | memcpy(ret->sid_ctx,os.data,os.length); | 378 | else |
379 | { | ||
380 | ret->sid_ctx_length=os.length; | ||
381 | memcpy(ret->sid_ctx,os.data,os.length); | ||
382 | } | ||
376 | OPENSSL_free(os.data); os.data=NULL; os.length=0; | 383 | OPENSSL_free(os.data); os.data=NULL; os.length=0; |
377 | } | 384 | } |
378 | else | 385 | else |