DF-1073 / fix.diff
diff --git a/sys/bus/isa/pnp.c b/sys/bus/isa/pnp.c --- a/sys/bus/isa/pnp.c +++ b/sys/bus/isa/pnp.c @@ -335,13 +335,13 @@ case PNP_QUIRK_EXTRA_IO: if (config == NULL) break; - if (qp->arg1 != 0) { + if (qp->arg1 != 0 && config->ic_nport < ISA_NPORT) { config->ic_nport++; config->ic_port[config->ic_nport - 1] = config->ic_port[0]; config->ic_port[config->ic_nport - 1].ir_start += qp->arg1; config->ic_port[config->ic_nport - 1].ir_end += qp->arg1; } - if (qp->arg2 != 0) { + if (qp->arg2 != 0 && config->ic_nport < ISA_NPORT) { config->ic_nport++; config->ic_port[config->ic_nport - 1] = config->ic_port[0]; config->ic_port[config->ic_nport - 1].ir_start += qp->arg2; |