Update from 1.0.0-stable.
[openssl.git] / ssl / d1_pkt.c
index 882228c7fd09358d294b71fc0664f75cfbfaa479..b9909b417bf13f941899e49aea6c795d360bea8b 100644 (file)
@@ -561,7 +561,12 @@ again:
                /* read timeout is handled by dtls1_read_bytes */
                if (n <= 0) return(n); /* error or non-blocking */
 
-               OPENSSL_assert(s->packet_length == DTLS1_RT_HEADER_LENGTH);
+               /* this packet contained a partial record, dump it */
+               if (s->packet_length != DTLS1_RT_HEADER_LENGTH)
+                       {
+                       s->packet_length = 0;
+                       goto again;
+                       }
 
                s->rstate=SSL_ST_READ_BODY;