DF-2303 / fix.diff
--- /home/maxx/dfbsd/dfbsd/sys/bus/firewire/fwohci.c 2026-06-29 12:51:18.000000000 +0000 +++ fwohci.DF-2303.fixed 2026-10-18 11:31:21.758323197 +0000 @@ -2730,8 +2730,14 @@ p += rlen; /* this must be too long but harmless */ rlen = sizeof(pktbuf) - rlen; - if (rlen < 0) - kprintf("why rlen < 0\n"); + if (rlen < 0) { + kprintf("fwohci_arcv: " + "oversized header " + "fragment, drop\n"); + dbch->pdb_tr = NULL; + dbch->buf_offset = 0; + goto out; + } bcopy(db_tr->buf, p, rlen); ld += rlen; len -= rlen; |