DragonFlyBSD Kernel Audit
DF-2056 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/netif/iwm/if_iwm_fw.c b/sys/dev/netif/iwm/if_iwm_fw.c
--- a/sys/dev/netif/iwm/if_iwm_fw.c
+++ b/sys/dev/netif/iwm/if_iwm_fw.c
@@ -162,14 +162,17 @@
 		return EINVAL;
 	}
 
-	/* copy the CSS block to the dram */
-	IWM_DPRINTF(sc, IWM_DEBUG_FW,
-		    "Paging: load paging CSS to FW, sec = %d\n",
-		    sec_idx);
-
-	memcpy(sc->fw_paging_db[0].fw_paging_block.vaddr,
-	       image->sec[sec_idx].data,
-	       sc->fw_paging_db[0].fw_paging_size);
+	/* copy the CSS block to the dram */
+	IWM_DPRINTF(sc, IWM_DEBUG_FW,
+		    "Paging: load paging CSS to FW, sec = %d\n",
+		    sec_idx);
+
+	if (sc->fw_paging_db[0].fw_paging_block.vaddr == NULL ||
+	    image->sec[sec_idx].data == NULL)
+		return EINVAL;
+	memcpy(sc->fw_paging_db[0].fw_paging_block.vaddr,
+	       image->sec[sec_idx].data,
+	       sc->fw_paging_db[0].fw_paging_size);
 
 	IWM_DPRINTF(sc, IWM_DEBUG_FW,
 		    "Paging: copied %d CSS bytes to first block\n",