Skip to content

Commit 6ebd967

Browse files
committed
bounds check on ext_dump
1 parent d432759 commit 6ebd967

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

tests/quic.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -731,9 +731,13 @@ static void ext_dump(const byte *data, size_t data_len, int indent)
731731
word16 len16, etype, i;
732732

733733
printf("%*sextensions:\n", indent, " ");
734-
while (idx < data_len) {
734+
while (idx + 4 <= data_len) {
735735
ato16(&data[idx], &etype); /* extension type */
736736
ato16(&data[idx+2], &len16); /* extension length */
737+
if (idx + 4 + len16 > data_len) {
738+
printf(" unexpected extension length\n");
739+
break;
740+
}
737741
printf(" extension: %04x [", etype);
738742
for (i = 0; i < len16; ++i) {
739743
printf("%s0x%02x", (i? ", ": ""), data[idx+4+i]);

0 commit comments

Comments
 (0)