diff options
author | sam <sam@FreeBSD.org> | 2005-03-29 01:44:17 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2005-03-29 01:44:17 +0000 |
commit | 61bf6bf48d068d19a6d9abdb529765b01a40c664 (patch) | |
tree | be05863ac37947e0ac1e98282c65a6f96dcbd64f /sys/dev/ciss | |
parent | a2c73279e6a79b29118791d4b171c1150dc0c948 (diff) | |
download | FreeBSD-src-61bf6bf48d068d19a6d9abdb529765b01a40c664.zip FreeBSD-src-61bf6bf48d068d19a6d9abdb529765b01a40c664.tar.gz |
handle ciss_lookup failure
Noticed by: Coverity Prevent analysis tool
Diffstat (limited to 'sys/dev/ciss')
-rw-r--r-- | sys/dev/ciss/ciss.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/dev/ciss/ciss.c b/sys/dev/ciss/ciss.c index 789efb7..6d2c83e 100644 --- a/sys/dev/ciss/ciss.c +++ b/sys/dev/ciss/ciss.c @@ -377,6 +377,11 @@ ciss_attach(device_t dev) * Work out adapter type. */ i = ciss_lookup(dev); + if (i < 0) { + ciss_printf(sc, "unknown adapter type\n"); + error = ENXIO; + goto out; + } if (ciss_vendor_data[i].flags & CISS_BOARD_SA5) { sc->ciss_interrupt_mask = CISS_TL_SIMPLE_INTR_OPQ_SA5; } else if (ciss_vendor_data[i].flags & CISS_BOARD_SA5B) { |