/* 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) {
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");
}
}
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;
}
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",
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",