Sophie

Sophie

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

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

431977: snmpd gets stuck in infinite loop when ipv6 kernel module is removed

Written-By: 
  - upstream, https://sourceforge.net/tracker/index.php?func=detail&aid=1704105&group_id=12694&atid=312694
  - DEBUGMSGTL by Jan Safranek, sent upstream: http://sourceforge.net/tracker/index.php?func=detail&aid=1902113&group_id=12694&atid=312694

Decrease loop counter + print error log message on demand if anything gets wrong in fillup_entry_info()

diff -up net-snmp-5.3.1/agent/mibgroup/ip-mib/data_access/arp_linux.c.bak net-snmp-5.3.1/agent/mibgroup/ip-mib/data_access/arp_linux.c
--- net-snmp-5.3.1/agent/mibgroup/ip-mib/data_access/arp_linux.c.bak	2008-03-03 09:27:01.000000000 +0100
+++ net-snmp-5.3.1/agent/mibgroup/ip-mib/data_access/arp_linux.c	2008-03-03 09:28:00.000000000 +0100
@@ -260,8 +260,9 @@ _load_v6(netsnmp_container *container, i
          }
          entry->ns_arp_index = ++idx_offset;
          if(fillup_entry_info (entry, nlmp) < 0) {
-            snmp_log(LOG_ERR, "filling entry info failed\n");
+            DEBUGMSGTL(("access:arp:load_v6", "filling entry info failed\n"));
             netsnmp_access_arp_entry_free(entry);
+            status -= NLMSG_ALIGN(len);
             continue;
          }
          CONTAINER_INSERT(container, entry);