DragonFlyBSD Kernel Audit
DF-1652 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/netif/sbsh/if_sbsh.c b/sys/dev/netif/sbsh/if_sbsh.c
--- a/sys/dev/netif/sbsh/if_sbsh.c
+++ b/sys/dev/netif/sbsh/if_sbsh.c
@@ -402,10 +402,12 @@
 					    __SYSCAP_NULLCRED);
 		if (error)
 			break;
-		if (ifp->if_flags & IFF_UP)
-			error = EBUSY;
-
-		bzero(&cfg, sizeof(cfg));
+		if (ifp->if_flags & IFF_UP) {
+			error = EBUSY;
+			break;
+		}
+
+		bzero(&cfg, sizeof(cfg));
 		error = copyin((caddr_t)ifr->ifr_data,
 			       (caddr_t)&cfg,
 			       sizeof cfg);