diff --git a/ssl/d1_both.c b/ssl/d1_both.c index fef8b45ae..b0e749c3d 100644 --- a/ssl/d1_both.c +++ b/ssl/d1_both.c @@ -645,14 +645,14 @@ dtls1_reassemble_fragment(SSL *s, struct hm_header_st* msg_hdr, int *ok) } } - /* If message is already reassembled, this must be a - * retransmit and can be dropped. - */ + * retransmit and can be dropped. In this case item != NULL and so frag + * does not need to be freed. */ if (frag->reassembly == NULL) { unsigned char devnull [256]; + assert(item != NULL); while (frag_len) { i = s->method->ssl_read_bytes(s,SSL3_RT_HANDSHAKE,