Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 20db51d70e6b59a061db97ce9b89c771 > files > 59

net-snmp-5.3.2.2-14.el5.src.rpm

458937: net-smp fails to parse if_inet6 when the iface index is greater than 255

Author: mmatsuya@redhat.com
Reviewed-By: Jan Safranek <jsafrane@redhat.com>
Upstream SVN rev. 17155

Allow 32 bit if_index.

Index: net-snmp/agent/mibgroup/ip-mib/data_access/ipv6scopezone_linux.c
===================================================================
--- net-snmp/agent/mibgroup/ip-mib/data_access/ipv6scopezone_linux.c	(revision 17154)
+++ net-snmp/agent/mibgroup/ip-mib/data_access/ipv6scopezone_linux.c	(revision 17155)
@@ -94,7 +94,7 @@
          * F: flags (see include/linux/rtnetlink.h, net/ipv6/addrconf.c)
          * I: interface
          */
-        rc = sscanf(line, "%39s %02x %02x %02x %02x\n",
+        rc = sscanf(line, "%39s %04x %02x %02x %02x\n",
                     addr, &if_index, &pfx_len, &scope, &flags);
         if( 5 != rc ) {
             snmp_log(LOG_ERR, PROCFILE " data format error (%d!=5), line ==|%s|\n",
Index: net-snmp/agent/mibgroup/ip-mib/data_access/ipaddress_linux.c
===================================================================
--- net-snmp/agent/mibgroup/ip-mib/data_access/ipaddress_linux.c	(revision 17154)
+++ net-snmp/agent/mibgroup/ip-mib/data_access/ipaddress_linux.c	(revision 17155)
@@ -247,7 +247,7 @@
          * F: flags (see include/linux/rtnetlink.h, net/ipv6/addrconf.c)
          * I: interface
          */
-        rc = sscanf(line, "%39s %02x %02x %02x %02x %" SNMP_MACRO_VAL_TO_STR(IFNAMSIZ) "s\n",
+        rc = sscanf(line, "%39s %04x %02x %02x %02x %" SNMP_MACRO_VAL_TO_STR(IFNAMSIZ) "s\n",
                     addr, &if_index, &pfx_len, &scope, &flags, if_name);
         if( 6 != rc ) {
             snmp_log(LOG_ERR, PROCFILE " data format error (%d!=6), line ==|%s|\n",