⬢ DragonFlyBSD Kernel Audit
DF-5360 / fix.diff
← back to finding ↓ download raw
--- a/sys/bus/pccard/pccard_cis.c
+++ b/sys/bus/pccard/pccard_cis.c
@@ -1050,6 +1050,10 @@
 						DPRINTF(("too many io "
 						    "spaces %d",
 						    cfe->num_iospace));
+						/* DF-5360: don't leave the poisoned count on
+						 * the queued cfe (or on default_cfe, which is
+						 * copied into later entries at :914). */
+						cfe->num_iospace = 0;
 						state->card->error++;
 						break;
 					}
@@ -1170,6 +1174,8 @@
 						DPRINTF(("too many mem "
 						    "spaces %d",
 						    cfe->num_memspace));
+						/* DF-5360: same as the iospace case. */
+						cfe->num_memspace = 0;
 						state->card->error++;
 						break;
 					}