DragonFlyBSD Kernel Audit
DF-1015 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/bus/u4b/usb_dev.c b/sys/bus/u4b/usb_dev.c
--- a/sys/bus/u4b/usb_dev.c
+++ b/sys/bus/u4b/usb_dev.c
@@ -1189,6 +1189,7 @@
 			kn->kn_fop = &usb_filtops_read;
 		} else {
 			ap->a_result = EOPNOTSUPP;
+			usb_unref_device(cpd, &refs);
 			return(0);
 		}
 		break;
@@ -1201,6 +1202,7 @@
 			kn->kn_fop = &usb_filtops_write;
 		} else {
 			ap->a_result = EOPNOTSUPP;
+			usb_unref_device(cpd, &refs);
 			return(0);
 		}
 		break;