X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=networking%2Froute.c;h=5d2540802c32b1cb2ea51fe46a8ebe85cfaade2c;hb=f09f4e015bffe6db5d7e63d47b23f22db4806736;hp=7b6d4f45fbb9518a23dfce17d611a33c0869acf8;hpb=a46dd89e9451ec73a4df54427110cdfc28d8b031;p=oweals%2Fbusybox.git diff --git a/networking/route.c b/networking/route.c index 7b6d4f45f..5d2540802 100644 --- a/networking/route.c +++ b/networking/route.c @@ -302,7 +302,7 @@ static void INET_setroute(int action, char **args) /* sanity checks.. */ if (mask_in_addr(rt)) { - unsigned long mask = mask_in_addr(rt); + uint32_t mask = mask_in_addr(rt); mask = ~ntohl(mask); if ((rt.rt_flags & RTF_HOST) && mask != 0xffffffff) { @@ -313,7 +313,7 @@ static void INET_setroute(int action, char **args) bb_error_msg_and_die("bogus netmask %s", netmask); } mask = ((struct sockaddr_in *) &rt.rt_dst)->sin_addr.s_addr; - if (mask & ~mask_in_addr(rt)) { + if (mask & ~(uint32_t)mask_in_addr(rt)) { bb_error_msg_and_die("netmask and route address conflict"); } } @@ -423,7 +423,7 @@ static void INET6_setroute(int action, char **args) if (devname) { struct ifreq ifr; memset(&ifr, 0, sizeof(ifr)); - strncpy(ifr.ifr_name, devname, sizeof(ifr.ifr_name)); + strncpy_IFNAMSIZ(ifr.ifr_name, devname); xioctl(skfd, SIOGIFINDEX, &ifr); rt.rtmsg_ifindex = ifr.ifr_ifindex; } @@ -484,7 +484,7 @@ void FAST_FUNC bb_displayroutes(int noresolve, int netstatfmt) struct sockaddr_in s_addr; struct in_addr mask; - FILE *fp = xfopen("/proc/net/route", "r"); + FILE *fp = xfopen_for_read("/proc/net/route"); printf("Kernel IP routing table\n" "Destination Gateway Genmask Flags %s Iface\n", @@ -552,7 +552,7 @@ static void INET6_displayroutes(void) int iflags, metric, refcnt, use, prefix_len, slen; struct sockaddr_in6 snaddr6; - FILE *fp = xfopen("/proc/net/ipv6_route", "r"); + FILE *fp = xfopen_for_read("/proc/net/ipv6_route"); printf("Kernel IPv6 routing table\n%-44s%-40s" "Flags Metric Ref Use Iface\n",