diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2009-05-13 11:51:30 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2009-05-13 11:51:30 +0000 |
commit | 561cbe567846a376153bea7f1f2d061e78029c2d (patch) | |
tree | 423c6f4546fa992f367f73daf279ea821faa8d07 | |
parent | 756d2074b8cda816f9dc8fb72b35a0ff16de18ba (diff) |
PR: 1923
Submitted by: Daniel Mentz <daniel.m@sent.com>, Robin Seggelmann <seggelmann@fh-muenster.de>
Approved by: steve@openssl.org
Don't access freed data structure.
-rw-r--r-- | ssl/d1_both.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/ssl/d1_both.c b/ssl/d1_both.c index ffbe5131d7..8883760da5 100644 --- a/ssl/d1_both.c +++ b/ssl/d1_both.c @@ -519,6 +519,7 @@ dtls1_retrieve_buffered_fragment(SSL *s, long max, int *ok) if ( s->d1->handshake_read_seq == frag->msg_header.seq) { + unsigned long frag_len = frag->msg_header.frag_len; pqueue_pop(s->d1->buffered_messages); al=dtls1_preprocess_fragment(s,&frag->msg_header,max); @@ -536,7 +537,7 @@ dtls1_retrieve_buffered_fragment(SSL *s, long max, int *ok) if (al==0) { *ok = 1; - return frag->msg_header.frag_len; + return frag_len; } ssl3_send_alert(s,SSL3_AL_FATAL,al); |