summaryrefslogtreecommitdiff
path: root/src/lib/libssl/ssl_asn1.c
diff options
context:
space:
mode:
authormarkus <>2003-05-11 21:36:58 +0000
committermarkus <>2003-05-11 21:36:58 +0000
commit1c98a87f0daac81245653c227eb2f2508a22a965 (patch)
tree3de6d603296ec563b936da4e6a8a1e33d48f8884 /src/lib/libssl/ssl_asn1.c
parent31392c89d1135cf2a416f97295f6d21681b3fbc4 (diff)
downloadopenbsd-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.c11
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