DragonFlyBSD Kernel Audit
DF-0272 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/net/if.c b/sys/net/if.c
--- a/sys/net/if.c
+++ b/sys/net/if.c
@@ -2109,7 +2109,7 @@
 		 * terminating nul in.
 		 */
 		if (ifr->ifr_buffer.length > ifdescr_maxlen)
-			return (ENAMETOOLONG);
+			break;
 		else if (ifr->ifr_buffer.length == 0)
 			descrbuf = NULL;
 		else {
@@ -2386,24 +2386,24 @@
 		ifgr = (struct ifgroupreq *)ifr;
 		error = caps_priv_check(cred, SYSCAP_NONET_IFCONFIG);
 		if (error)
-			return (error);
+			break;
 		if ((error = if_addgroup(ifp, ifgr->ifgr_group)))
-			return (error);
+			break;
 		break;
 
 	case SIOCDIFGROUP:
 		ifgr = (struct ifgroupreq *)ifr;
 		error = caps_priv_check(cred, SYSCAP_NONET_IFCONFIG);
 		if (error)
-			return (error);
+			break;
 		if ((error = if_delgroup(ifp, ifgr->ifgr_group)))
-			return (error);
+			break;
 		break;
 
 	case SIOCGIFGROUP:
 		ifgr = (struct ifgroupreq *)ifr;
 		if ((error = if_getgroups(ifgr, ifp)))
-			return (error);
+			break;
 		break;
 
 	default: