DragonFlyBSD Kernel Audit
DF-1007 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/bus/firewire/fwohci.c b/sys/bus/firewire/fwohci.c
--- a/sys/bus/firewire/fwohci.c
+++ b/sys/bus/firewire/fwohci.c
@@ -1334,7 +1334,10 @@
 	}
 	db_tr = dbch->top;
 	for (idb = 0; idb < dbch->ndb; idb ++) {
-		fwohci_add_tx_buf(dbch, db_tr, idb);
+		if (fwohci_add_tx_buf(dbch, db_tr, idb) != 0) {
+			err = ENOMEM;
+			return err;
+		}
 		if(STAILQ_NEXT(db_tr, link) == NULL){
 			break;
 		}
@@ -1403,7 +1406,10 @@
 	}
 	db_tr = dbch->top;
 	for (idb = 0; idb < dbch->ndb; idb ++) {
-		fwohci_add_rx_buf(dbch, db_tr, idb, &sc->dummy_dma);
+		if (fwohci_add_rx_buf(dbch, db_tr, idb, &sc->dummy_dma) != 0) {
+			err = ENOMEM;
+			return err;
+		}
 		if (STAILQ_NEXT(db_tr, link) == NULL)
 			break;
 		db = db_tr->db;