⬢ DragonFlyBSD Kernel Audit
DF-2735 / fix.diff
← back to finding ↓ download raw
--- sys/kern/sys_generic.c	2026-06-29 12:51:19.000000000 +0000
+++ /tmp/opencode/v26/fixtree/sys/kern/sys_generic.c	2026-10-24 18:54:14.830873292 +0000
@@ -1711,6 +1711,8 @@
 	EV_SET(&kev, fd, EVFILT_READ, EV_ADD|EV_ENABLE, 0, 0, NULL);
 	n = 1;
 	if ((error = kqueue_register(&kq, &kev, &n, 0)) != 0) {
+		fp->f_ops = &badfileops;		/* DF-2735 */
+		kern_close(fd);
 		fdrop(fp);
 		return (error);
 	}
@@ -1722,6 +1724,7 @@
 	n = 1;
 	kqueue_register(&kq, &kev, &n, 0);
 	fp->f_ops = &badfileops;
+	kern_close(fd);				/* DF-2735 */
 	fdrop(fp);
 
 	return (error);