summaryrefslogtreecommitdiff
path: root/app/openssl/ssl/d1_both.c
diff options
context:
space:
mode:
Diffstat (limited to 'app/openssl/ssl/d1_both.c')
-rw-r--r--app/openssl/ssl/d1_both.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/app/openssl/ssl/d1_both.c b/app/openssl/ssl/d1_both.c
index 04aa2310..2e8cf681 100644
--- a/app/openssl/ssl/d1_both.c
+++ b/app/openssl/ssl/d1_both.c
@@ -627,16 +627,7 @@ dtls1_reassemble_fragment(SSL *s, struct hm_header_st* msg_hdr, int *ok)
frag->msg_header.frag_off = 0;
}
else
- {
frag = (hm_fragment*) item->data;
- if (frag->msg_header.msg_len != msg_hdr->msg_len)
- {
- item = NULL;
- frag = NULL;
- goto err;
- }
- }
-
/* If message is already reassembled, this must be a
* retransmit and can be dropped.
@@ -683,8 +674,8 @@ dtls1_reassemble_fragment(SSL *s, struct hm_header_st* msg_hdr, int *ok)
item = pitem_new(seq64be, frag);
if (item == NULL)
{
- i = -1;
goto err;
+ i = -1;
}
pqueue_insert(s->d1->buffered_messages, item);
@@ -793,7 +784,6 @@ dtls1_get_message_fragment(SSL *s, int st1, int stn, long max, int *ok)
int i,al;
struct hm_header_st msg_hdr;
- redo:
/* see if we have the required fragment already */
if ((frag_len = dtls1_retrieve_buffered_fragment(s,max,ok)) || *ok)
{
@@ -852,7 +842,8 @@ dtls1_get_message_fragment(SSL *s, int st1, int stn, long max, int *ok)
s->msg_callback_arg);
s->init_num = 0;
- goto redo;
+ return dtls1_get_message_fragment(s, st1, stn,
+ max, ok);
}
else /* Incorrectly formated Hello request */
{