DragonFlyBSD Kernel Audit
DF-0248 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/kern/uipc_accf.c b/sys/kern/uipc_accf.c
--- a/sys/kern/uipc_accf.c
+++ b/sys/kern/uipc_accf.c
@@ -101,11 +101,13 @@
 {
 	struct accept_filter *p;
 
+	crit_enter();
 	SLIST_FOREACH(p, &accept_filtlsthd, accf_next)
 		if (strcmp(p->accf_name, name) == 0)
-			return (p);
+			break;
+	crit_exit();
 
-	return (NULL);
+	return ((p != NULL && strcmp(p->accf_name, name) == 0) ? p : NULL);
 }
 
 int