File sudo-1.8.2-CVE-2012-2337.patch of Package sudo.openSUSE_12.1_Update
Index: plugins/sudoers/match.c
===================================================================
--- plugins/sudoers/match.c.orig 2011-05-23 20:06:14.000000000 +0200
+++ plugins/sudoers/match.c 2012-05-16 11:40:46.995676836 +0200
@@ -620,7 +620,7 @@ addr_matches_if(char *n)
for (ifp = interfaces; ifp != NULL; ifp = ifp->next) {
if (ifp->family != family)
continue;
- switch(family) {
+ switch (family) {
case AF_INET:
if (ifp->addr.ip4.s_addr == addr.ip4.s_addr ||
(ifp->addr.ip4.s_addr & ifp->netmask.ip4.s_addr)
@@ -638,6 +638,7 @@ addr_matches_if(char *n)
}
if (j == sizeof(addr.ip6.s6_addr))
return TRUE;
+ break;
#endif
}
}
@@ -700,6 +701,7 @@ addr_matches_if_netmask(char *n, char *m
case AF_INET:
if ((ifp->addr.ip4.s_addr & mask.ip4.s_addr) == addr.ip4.s_addr)
return TRUE;
+ break;
#ifdef HAVE_IN6_ADDR
case AF_INET6:
for (j = 0; j < sizeof(addr.ip6.s6_addr); j++) {
@@ -708,6 +710,7 @@ addr_matches_if_netmask(char *n, char *m
}
if (j == sizeof(addr.ip6.s6_addr))
return TRUE;
+ break;
#endif /* HAVE_IN6_ADDR */
}
}