Blame SOURCES/net-snmp-5.8-deleted-iface.patch

a092ae
diff -up net-snmp-5.8/agent/mibgroup/if-mib/data_access/interface_linux.c.original net-snmp-5.8/agent/mibgroup/if-mib/data_access/interface_linux.c
a092ae
--- net-snmp-5.8/agent/mibgroup/if-mib/data_access/interface_linux.c.original	2022-02-02 15:06:29.382119898 +0900
a092ae
+++ net-snmp-5.8/agent/mibgroup/if-mib/data_access/interface_linux.c	2022-02-02 15:15:39.298280447 +0900
a092ae
@@ -600,7 +600,6 @@ netsnmp_arch_interface_container_load(ne
a092ae
 {
a092ae
     FILE           *devin;
a092ae
     char            line[256];
a092ae
-    netsnmp_interface_entry *entry = NULL;
a092ae
     static char     scan_expected = 0;
a092ae
     int             fd;
a092ae
 #ifdef NETSNMP_ENABLE_IPV6
a092ae
@@ -669,6 +668,7 @@ netsnmp_arch_interface_container_load(ne
a092ae
      *   and retrieve (or create) the corresponding data structure.
a092ae
      */
a092ae
     while (fgets(line, sizeof(line), devin)) {
a092ae
+        netsnmp_interface_entry *entry = NULL;
a092ae
         char           *stats, *ifstart = line;
a092ae
         u_int           flags;
a092ae
         oid             if_index;
a092ae
@@ -701,6 +701,11 @@ netsnmp_arch_interface_container_load(ne
a092ae
         *stats++ = 0; /* null terminate name */
a092ae
 
a092ae
         if_index = netsnmp_arch_interface_index_find(ifstart);
a092ae
+        if (if_index == 0) {
a092ae
+            DEBUGMSGTL(("access:interface", "network interface %s is gone",
a092ae
+                        ifstart));
a092ae
+            continue;
a092ae
+        }
a092ae
 
a092ae
         /*
a092ae
          * set address type flags.
a092ae
@@ -726,7 +731,7 @@ netsnmp_arch_interface_container_load(ne
a092ae
             continue;
a092ae
         }
a092ae
 
a092ae
-        entry = netsnmp_access_interface_entry_create(ifstart, 0);
a092ae
+        entry = netsnmp_access_interface_entry_create(ifstart, if_index);
a092ae
         if(NULL == entry) {
a092ae
 #ifdef NETSNMP_ENABLE_IPV6
a092ae
             netsnmp_access_ipaddress_container_free(addr_container, 0);
a092ae