DF-2318 / fix.diff
--- 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); |