ioctl(SIOCGIFINDEX) does not require clearing of entire ifr
function old new delta
INET6_setroute 492 472 -20
do_iplink 1357 1330 -27
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-47) Total: -47 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/networking/libiproute/iplink.c b/networking/libiproute/iplink.c
index 2aa8b68..9c164a7 100644
--- a/networking/libiproute/iplink.c
+++ b/networking/libiproute/iplink.c
@@ -161,7 +161,7 @@
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);
diff --git a/networking/route.c b/networking/route.c
index 6edc0f6..8387ce1 100644
--- a/networking/route.c
+++ b/networking/route.c
@@ -444,7 +444,7 @@
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;
diff --git a/networking/udhcp/d6_socket.c b/networking/udhcp/d6_socket.c
index 315c8d9..6ad53a9 100644
--- a/networking/udhcp/d6_socket.c
+++ b/networking/udhcp/d6_socket.c
@@ -63,7 +63,7 @@
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) {