Description of problem:
net-snmp may crash in netsnmp_access_arp_entry_create when system runs out of memory since return value of the memory allocation is not validated before it is dereferenced in the function.
The value is validated by the callers of netsnmp_access_arp_entry_create(), so it should be sufficient to add a simple check that just returns a NULL if an object could not be allocated. Attached patch does this.
Version-Release number of selected component (if applicable):
- Patch is against upstream trunk, so upstream also may have the same problem.
Steps to Reproduce:
1. Keep running the snmpd for several months once it is started.
The snmpd crashes due to memory allocation failure.
snmpd should not crash.
RHEL5 bugzilla is being tracked at https://bugzilla.redhat.com/show_bug.cgi?id=706916 . We need the same fix in RHEL6 too.
Technical note added. If any revisions are required, please edit the "Technical Notes" field
accordingly. All revisions will be proofread by the Engineering Content Services team.
Prior this update, the snmpd daemon did not properly recover when the system run out of memory when populating IP-MIB::ipNetToPhysicalTable, which could lead to crash of the daemon. This update adds additional checks when running out of memory and the snmpd daemon should not crash in this situation. (BZ#708947).
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.