DragonFlyBSD Kernel Audit
DF-1766 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/netif/ath/ath_hal/ar5212/ar5413.c b/sys/dev/netif/ath/ath_hal/ar5212/ar5413.c
--- a/sys/dev/netif/ath/ath_hal/ar5212/ar5413.c
+++ b/sys/dev/netif/ath/ath_hal/ar5212/ar5413.c
@@ -422,6 +422,11 @@
 	int16_t tmpVal ; 
 	uint32_t sizeCurrVpdTable, maxIndex, tgtIndex;
     
+	/* Validate dataset before indexing */
+	if (pRawDataset->numChannels < 1) {
+		*pMinCalPower = 0;
+		return 0;
+	}
 	/* Get upper lower index */
 	GetLowerUpperIndex(channel, pRawDataset->pChannels,
 				 pRawDataset->numChannels, &(idxL), &(idxR));