--- a/sys/bus/pccard/pccard_cis.c +++ b/sys/bus/pccard/pccard_cis.c @@ -992,6 +992,8 @@ /* if the bit is set */ if ((reg >> j) & 0x01) { /* skip over bytes */ + if (tuple->length <= idx) + goto abort_cfe; do { reg2 = pccard_tuple_read_1(tuple, idx); idx++;