⬢ DragonFlyBSD Kernel Audit
DF-2318 / fix.diff
← back to finding ↓ download raw
--- a/sys/bus/pccard/pccard.c
+++ b/sys/bus/pccard/pccard.c
@@ -1017,8 +1017,14 @@
 	struct pccard_softc *sc = PCCARD_SOFTC(bus);
 	char cis0[128], cis1[128];
 
-	pccard_safe_quote(cis0, sc->card.cis1_info[0], sizeof(cis0));
-	pccard_safe_quote(cis1, sc->card.cis1_info[1], sizeof(cis1));
+	if (sc->card.cis1_info[0] != NULL)
+		pccard_safe_quote(cis0, sc->card.cis1_info[0], sizeof(cis0));
+	else
+		cis0[0] = '\0';
+	if (sc->card.cis1_info[1] != NULL)
+		pccard_safe_quote(cis1, sc->card.cis1_info[1], sizeof(cis1));
+	else
+		cis1[0] = '\0';
 	ksnprintf(buf, buflen, "manufacturer=0x%04x product=0x%04x "
 	    "cisvendor=\"%s\" cisproduct=\"%s\" function_type=%d",
 	    sc->card.manufacturer, sc->card.product, cis0, cis1, pf->function);