summaryrefslogtreecommitdiffstats
path: root/ssl/d1_both.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2009-05-13 11:51:30 +0000
committerDr. Stephen Henson <steve@openssl.org>2009-05-13 11:51:30 +0000
commit561cbe567846a376153bea7f1f2d061e78029c2d (patch)
tree423c6f4546fa992f367f73daf279ea821faa8d07 /ssl/d1_both.c
parent756d2074b8cda816f9dc8fb72b35a0ff16de18ba (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.
Diffstat (limited to 'ssl/d1_both.c')
-rw-r--r--ssl/d1_both.c3
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);