diff --git a/plugins/sudoers/interfaces.h b/plugins/sudoers/interfaces.h index 7a652bed9..20aa7f641 100644 --- a/plugins/sudoers/interfaces.h +++ b/plugins/sudoers/interfaces.h @@ -22,23 +22,23 @@ #ifndef _SUDO_INTERFACES_H #define _SUDO_INTERFACES_H +/* + * Union to hold either strucr in_addr or in6_add + */ +union sudo_in_addr_un { + struct in_addr ip4; +#ifdef HAVE_IN6_ADDR + struct in6_addr ip6; +#endif +}; + /* * IP address and netmask pairs for checking against local interfaces. */ struct interface { int family; /* AF_INET or AF_INET6 */ - union { - struct in_addr ip4; -#ifdef HAVE_IN6_ADDR - struct in6_addr ip6; -#endif - } addr; - union { - struct in_addr ip4; -#ifdef HAVE_IN6_ADDR - struct in6_addr ip6; -#endif - } netmask; + union sudo_in_addr_un addr; + union sudo_in_addr_un netmask; }; /* diff --git a/plugins/sudoers/match.c b/plugins/sudoers/match.c index 0b1be1920..7657751eb 100644 --- a/plugins/sudoers/match.c +++ b/plugins/sudoers/match.c @@ -105,13 +105,6 @@ static int command_matches_normal(char *, char *); */ #define has_meta(s) (strpbrk(s, "\\?*[]") != NULL) -union sudo_in_addr_un { - struct in_addr ip4; -#ifdef HAVE_IN6_ADDR - struct in6_addr ip6; -#endif -}; - /* * Check for user described by pw in a list of members. * Returns ALLOW, DENY or UNSPEC.