DragonFlyBSD Kernel Audit
DF-1886 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/raid/vinum/vinumrevive.c b/sys/dev/raid/vinum/vinumrevive.c
--- a/sys/dev/raid/vinum/vinumrevive.c
+++ b/sys/dev/raid/vinum/vinumrevive.c
@@ -364,6 +364,8 @@
     int *sbuf;
     int bufcount;					    /* number of buffers we need */
 
+    if (plex->stripesize == 0 || plex->subdisks == 0)
+	return NULL;
     stripe = pstripe / plex->stripesize;		    /* stripe number */
     psd = plex->subdisks - 1 - stripe % plex->subdisks;	    /* parity subdisk for this stripe */
     parity_buf = NULL;					    /* to keep the compiler happy */