DragonFlyBSD Kernel Audit
DF-1059 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/bus/firewire/fwdev.c b/sys/bus/firewire/fwdev.c
--- a/sys/bus/firewire/fwdev.c
+++ b/sys/bus/firewire/fwdev.c
@@ -590,6 +590,10 @@
 		sc->fc->ibr(sc->fc);
 		break;
 	case FW_CBINDADDR:
+		if (ir == NULL) {
+			err = EINVAL;
+			break;
+		}
 		fwb = fw_bindlookup(sc->fc,
 				bindreq->start.hi, bindreq->start.lo);
 		if(fwb == NULL){
@@ -601,6 +605,10 @@
 		kfree(fwb, M_FW);
 		break;
 	case FW_SBINDADDR:
+		if (ir == NULL) {
+			err = EINVAL;
+			break;
+		}
 		if(bindreq->len <= 0 ){
 			err = EINVAL;
 			break;