]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
parse_handshake_header: allow 1-byte sized fragments
authorNikos Mavrogiannopoulos <nmav@redhat.com>
Fri, 15 Sep 2017 14:34:02 +0000 (16:34 +0200)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Tue, 19 Sep 2017 08:12:48 +0000 (08:12 +0000)
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
lib/buffers.c

index 8b85c6398d1896ccb37febaaf9fa644bc1004e2b..69c4966faf87012ab978c936b26777507aff0b41 100644 (file)
@@ -955,12 +955,13 @@ parse_handshake_header(gnutls_session_t session, mbuffer_st * bufel,
                return
                    gnutls_assert_val(GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
 
-       if (hsk->length > 0 && (hsk->start_offset >= hsk->end_offset ||
+       if (hsk->length > 0 && (hsk->start_offset > hsk->end_offset ||
                                hsk->end_offset - hsk->start_offset >=
                                data_size
-                               || hsk->end_offset >= hsk->length))
+                               || hsk->end_offset >= hsk->length)) {
                return
                    gnutls_assert_val(GNUTLS_E_UNEXPECTED_PACKET_LENGTH);
+       }
        else if (hsk->length == 0 && hsk->end_offset != 0
                 && hsk->start_offset != 0)
                return