diff options
author | glebius <glebius@FreeBSD.org> | 2011-12-16 13:30:17 +0000 |
---|---|---|
committer | glebius <glebius@FreeBSD.org> | 2011-12-16 13:30:17 +0000 |
commit | 25d9ab0f4e4a6108eb3bfaa60a6628b05cbc4d75 (patch) | |
tree | 8d11761f782eede94201a57f3a547df26aefbdae | |
parent | a1d123baf1a614eebf691a448c57e66558090ddc (diff) | |
download | FreeBSD-src-25d9ab0f4e4a6108eb3bfaa60a6628b05cbc4d75.zip FreeBSD-src-25d9ab0f4e4a6108eb3bfaa60a6628b05cbc4d75.tar.gz |
Since size of struct in_aliasreq has just been changed in r228571,
and thus ifconfig(8) needs recompile, it is a good chance to make
parameter checks on SIOCAIFADDR arguments more strict.
-rw-r--r-- | sbin/ifconfig/af_inet.c | 1 | ||||
-rw-r--r-- | sys/netinet/in.c | 6 |
2 files changed, 1 insertions, 6 deletions
diff --git a/sbin/ifconfig/af_inet.c b/sbin/ifconfig/af_inet.c index bcd17c4..c733373 100644 --- a/sbin/ifconfig/af_inet.c +++ b/sbin/ifconfig/af_inet.c @@ -126,6 +126,7 @@ in_getaddr(const char *s, int which) *p = '/'; errx(1, "%s: bad value (width %s)", s, errstr); } + min->sin_family = AF_INET; min->sin_len = sizeof(*min); min->sin_addr.s_addr = htonl(~((1LL << (32 - masklen)) - 1) & 0xffffffff); diff --git a/sys/netinet/in.c b/sys/netinet/in.c index 7e9b1ed..e0b3efa 100644 --- a/sys/netinet/in.c +++ b/sys/netinet/in.c @@ -253,16 +253,10 @@ in_control(struct socket *so, u_long cmd, caddr_t data, struct ifnet *ifp, sizeof(struct sockaddr_in) || ifra->ifra_broadaddr.sin_family != AF_INET)) return (EINVAL); -#if 0 - /* - * ifconfig(8) historically doesn't set af_family for mask - * for unknown reason. - */ if (ifra->ifra_mask.sin_len != 0 && (ifra->ifra_mask.sin_len != sizeof(struct sockaddr_in) || ifra->ifra_mask.sin_family != AF_INET)) return (EINVAL); -#endif break; case SIOCSIFADDR: case SIOCSIFBRDADDR: |