31 lines
1.2 KiB
Diff
31 lines
1.2 KiB
Diff
|
commit 7ffb8e25a0db851953155de91f0170e9bf8c457d
|
||
|
Author: Robert Story <rstory@freesnmp.com>
|
||
|
Date: Thu Oct 6 10:43:10 2016 -0400
|
||
|
|
||
|
CHANGES: BUG: 2743: snmpd crashes when receiving a GetNext PDU with multiple Varbinds
|
||
|
|
||
|
skip out-of-range varbinds when calling next handler
|
||
|
|
||
|
diff --git a/agent/helpers/table.c b/agent/helpers/table.c
|
||
|
index 32a08033a..2666638b5 100644
|
||
|
--- a/agent/helpers/table.c
|
||
|
+++ b/agent/helpers/table.c
|
||
|
@@ -340,6 +340,8 @@ table_helper_handler(netsnmp_mib_handler *handler,
|
||
|
else if (reqinfo->mode == MODE_GET)
|
||
|
table_helper_cleanup(reqinfo, request,
|
||
|
SNMP_NOSUCHOBJECT);
|
||
|
+ else
|
||
|
+ request->processed = 1; /* skip if next handler called */
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
@@ -409,6 +411,8 @@ table_helper_handler(netsnmp_mib_handler *handler,
|
||
|
else if (reqinfo->mode == MODE_GET)
|
||
|
table_helper_cleanup(reqinfo, request,
|
||
|
SNMP_NOSUCHOBJECT);
|
||
|
+ else
|
||
|
+ request->processed = 1; /* skip if next handler called */
|
||
|
continue;
|
||
|
}
|
||
|
/*
|