⬢ DragonFlyBSD Kernel Audit
DF-2734 / fix.diff
← back to finding ↓ download raw
--- a/sys/kern/sys_generic.c
+++ b/sys/kern/sys_generic.c
@@ -688,10 +688,11 @@
 		} else {
 			*(caddr_t *)data = uspc_data;
 		}
-	} else if ((com & IOC_OUT) != 0 && size) {
+	} else if (size) {
 		/*
 		 * Zero the buffer so the user always
-		 * gets back something deterministic.
+		 * gets back something deterministic.  This also covers
+		 * IOC_NONE-direction commands whose size is non-zero.
 		 */
 		bzero(data, (size_t)size);
 	}