← Commit list

46ba2468a

Denys Vlasenko
Denys Vlasenko
2018-03-27
SUCCESS Duration: 141s

Subject

ioctl(SIOCGIFINDEX) does not require clearing of entire ifr

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

networking/libiproute/iplink.c+1 -1
@@ -161,7 +161,7 @@ static int get_address(char *dev, int *htype)
s = xsocket(PF_PACKET, SOCK_DGRAM, 0);
- memset(&ifr, 0, sizeof(ifr));
+ /*memset(&ifr, 0, sizeof(ifr)); - SIOCGIFINDEX does not need to clear all */
strncpy_IFNAMSIZ(ifr.ifr_name, dev);
xioctl(s, SIOCGIFINDEX, &ifr);
networking/route.c+1 -1
@@ -444,7 +444,7 @@ static NOINLINE void INET6_setroute(int action, char **args)
if (devname) {
struct ifreq ifr;
- memset(&ifr, 0, sizeof(ifr));
+ /*memset(&ifr, 0, sizeof(ifr)); - SIOCGIFINDEX does not need to clear all */
strncpy_IFNAMSIZ(ifr.ifr_name, devname);
xioctl(skfd, SIOCGIFINDEX, &ifr);
rt.rtmsg_ifindex = ifr.ifr_ifindex;
networking/udhcp/d6_socket.c+1 -1
@@ -63,7 +63,7 @@ int FAST_FUNC d6_read_interface(const char *interface, int *ifindex, struct in6_
struct ifreq ifr;
int fd;
- memset(&ifr, 0, sizeof(ifr));
+ /*memset(&ifr, 0, sizeof(ifr)); - SIOCGIFINDEX does not need to clear all */
strncpy_IFNAMSIZ(ifr.ifr_name, interface);
fd = xsocket(AF_INET6, SOCK_RAW, IPPROTO_RAW);
if (ioctl(fd, SIOCGIFINDEX, &ifr) == 0) {