[Midnightbsd-cvs] mports [22360] trunk/net-mgmt/net-snmp/files: update patchset
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Sat Feb 25 14:20:04 EST 2017
Revision: 22360
http://svnweb.midnightbsd.org/mports/?rev=22360
Author: laffer1
Date: 2017-02-25 14:20:04 -0500 (Sat, 25 Feb 2017)
Log Message:
-----------
update patchset
Modified Paths:
--------------
trunk/net-mgmt/net-snmp/files/patch-Makefile.in
trunk/net-mgmt/net-snmp/files/patch-agent_mibgroup_hardware_memory_memory__freebsd.c
trunk/net-mgmt/net-snmp/files/patch-agent_mibgroup_mibII_icmp.h
trunk/net-mgmt/net-snmp/files/patch-agent_mibgroup_tcp-mib_data__access_tcpConn__freebsd4.c
trunk/net-mgmt/net-snmp/files/patch-agent_mibgroup_ucd-snmp_diskio.c
trunk/net-mgmt/net-snmp/files/patch-agent_mibgroup_udp-mib_data__access_udp__endpoint__freebsd4.c
trunk/net-mgmt/net-snmp/files/patch-kthreads
trunk/net-mgmt/net-snmp/files/patch-perl5.23
trunk/net-mgmt/net-snmp/files/patch-snmplib_snmp__api.c
Modified: trunk/net-mgmt/net-snmp/files/patch-Makefile.in
===================================================================
--- trunk/net-mgmt/net-snmp/files/patch-Makefile.in 2017-02-25 19:19:24 UTC (rev 22359)
+++ trunk/net-mgmt/net-snmp/files/patch-Makefile.in 2017-02-25 19:20:04 UTC (rev 22360)
@@ -9,14 +9,3 @@
if test $$? != 0 ; then \
exit 1 ; \
fi
---- Makefile.in.orig 2015-01-19 14:39:40 UTC
-+++ Makefile.in
-@@ -230,7 +230,7 @@ pythonmodules: subdirs
- fi
-
- pythoninstall:
-- @(dir=`pwd`; cd python; $(PYMAKE) install --basedir=$$dir) ; \
-+ @(dir=`pwd`; cd python; $(PYMAKE) install --root=${STAGEDIR} --basedir=$$dir ${PYDISTUTILS_INSTALLARGS}) ; \
- if test $$? != 0 ; then \
- exit 1 ; \
- fi
Modified: trunk/net-mgmt/net-snmp/files/patch-agent_mibgroup_hardware_memory_memory__freebsd.c
===================================================================
--- trunk/net-mgmt/net-snmp/files/patch-agent_mibgroup_hardware_memory_memory__freebsd.c 2017-02-25 19:19:24 UTC (rev 22359)
+++ trunk/net-mgmt/net-snmp/files/patch-agent_mibgroup_hardware_memory_memory__freebsd.c 2017-02-25 19:20:04 UTC (rev 22360)
@@ -9,14 +9,3 @@
mem->free = 0;
}
---- agent/mibgroup/hardware/memory/memory_freebsd.c.orig 2015-02-20 14:44:47 UTC
-+++ agent/mibgroup/hardware/memory/memory_freebsd.c
-@@ -163,7 +163,7 @@ int netsnmp_mem_arch_load( netsnmp_cache
- if (!mem->descr)
- mem->descr = strdup("Cached memory");
- mem->units = pagesize;
-- mem->size = cache_count;
-+ mem->size = cache_count + inact_count;
- mem->free = 0;
- }
-
Modified: trunk/net-mgmt/net-snmp/files/patch-agent_mibgroup_mibII_icmp.h
===================================================================
--- trunk/net-mgmt/net-snmp/files/patch-agent_mibgroup_mibII_icmp.h 2017-02-25 19:19:24 UTC (rev 22359)
+++ trunk/net-mgmt/net-snmp/files/patch-agent_mibgroup_mibII_icmp.h 2017-02-25 19:20:04 UTC (rev 22360)
@@ -5,18 +5,7 @@
config_arch_require(freebsd9, mibII/kernel_sysctl)
config_arch_require(freebsd10, mibII/kernel_sysctl)
+config_arch_require(freebsd11, mibII/kernel_sysctl)
-+config_arch_require(freebsd12, mibII/kernel_sysctl)
++config_arch_require(midnightbsd0, mibII/kernel_sysctl)
config_arch_require(netbsd, mibII/kernel_netbsd)
config_arch_require(netbsdelf, mibII/kernel_netbsd)
config_arch_require(openbsd4, mibII/kernel_sysctl)
---- agent/mibgroup/mibII/icmp.h.orig 2014-12-08 20:23:22 UTC
-+++ agent/mibgroup/mibII/icmp.h
-@@ -14,6 +14,8 @@ config_arch_require(freebsd7, mibII/ker
- config_arch_require(freebsd8, mibII/kernel_sysctl)
- config_arch_require(freebsd9, mibII/kernel_sysctl)
- config_arch_require(freebsd10, mibII/kernel_sysctl)
-+config_arch_require(freebsd11, mibII/kernel_sysctl)
-+config_arch_require(freebsd12, mibII/kernel_sysctl)
- config_arch_require(netbsd, mibII/kernel_netbsd)
- config_arch_require(netbsdelf, mibII/kernel_netbsd)
- config_arch_require(openbsd4, mibII/kernel_sysctl)
Modified: trunk/net-mgmt/net-snmp/files/patch-agent_mibgroup_tcp-mib_data__access_tcpConn__freebsd4.c
===================================================================
--- trunk/net-mgmt/net-snmp/files/patch-agent_mibgroup_tcp-mib_data__access_tcpConn__freebsd4.c 2017-02-25 19:19:24 UTC (rev 22359)
+++ trunk/net-mgmt/net-snmp/files/patch-agent_mibgroup_tcp-mib_data__access_tcpConn__freebsd4.c 2017-02-25 19:20:04 UTC (rev 22360)
@@ -9,14 +9,3 @@
if(rc<0)
return rc;
---- agent/mibgroup/tcp-mib/data_access/tcpConn_freebsd4.c.orig 2015-10-13 12:04:38 UTC
-+++ agent/mibgroup/tcp-mib/data_access/tcpConn_freebsd4.c
-@@ -216,6 +216,8 @@ _load(netsnmp_container *container, u_in
- CONTAINER_INSERT(container, entry);
- }
-
-+ free(tcpcb_buf);
-+
- if(rc<0)
- return rc;
-
Modified: trunk/net-mgmt/net-snmp/files/patch-agent_mibgroup_ucd-snmp_diskio.c
===================================================================
--- trunk/net-mgmt/net-snmp/files/patch-agent_mibgroup_ucd-snmp_diskio.c 2017-02-25 19:19:24 UTC (rev 22359)
+++ trunk/net-mgmt/net-snmp/files/patch-agent_mibgroup_ucd-snmp_diskio.c 2017-02-25 19:20:04 UTC (rev 22360)
@@ -52,57 +52,3 @@
#else
long_ret = (signed long) stat->dinfo->devices[indx].num_writes;
#endif
---- agent/mibgroup/ucd-snmp/diskio.c.orig 2014-12-08 20:23:22 UTC
-+++ agent/mibgroup/ucd-snmp/diskio.c
-@@ -944,14 +944,14 @@ var_diskio(struct variable * vp,
- return (u_char *) stat->dinfo->devices[indx].device_name;
- case DISKIO_NREAD:
- #if HAVE_DEVSTAT_GETDEVS
-- long_ret = (signed long) stat->dinfo->devices[indx].bytes[DEVSTAT_READ];
-+ long_ret = (signed long) stat->dinfo->devices[indx].bytes[DEVSTAT_READ] & 0xFFFFFFFF;
- #else
- long_ret = (signed long) stat->dinfo->devices[indx].bytes_read;
- #endif
- return (u_char *) & long_ret;
- case DISKIO_NWRITTEN:
- #if HAVE_DEVSTAT_GETDEVS
-- long_ret = (signed long) stat->dinfo->devices[indx].bytes[DEVSTAT_WRITE];
-+ long_ret = (signed long) stat->dinfo->devices[indx].bytes[DEVSTAT_WRITE] & 0xFFFFFFFF;
- #else
- long_ret = (signed long) stat->dinfo->devices[indx].bytes_written;
- #endif
-@@ -959,7 +959,7 @@ var_diskio(struct variable * vp,
- case DISKIO_NREADX:
- *var_len = sizeof(struct counter64);
- #if HAVE_DEVSTAT_GETDEVS
-- longlong_ret = stat->dinfo->devices[indx].bytes[DEVSTAT_READ];
-+ longlong_ret = stat->dinfo->devices[indx].bytes[DEVSTAT_READ] & 0xFFFFFFFF;
- #else
- longlong_ret = stat->dinfo->devices[indx].bytes_read;
- #endif
-@@ -969,7 +969,7 @@ var_diskio(struct variable * vp,
- case DISKIO_NWRITTENX:
- *var_len = sizeof(struct counter64);
- #if HAVE_DEVSTAT_GETDEVS
-- longlong_ret = stat->dinfo->devices[indx].bytes[DEVSTAT_WRITE];
-+ longlong_ret = stat->dinfo->devices[indx].bytes[DEVSTAT_WRITE] & 0xFFFFFFFF;
- #else
- longlong_ret = stat->dinfo->devices[indx].bytes_written;
- #endif
-@@ -978,14 +978,14 @@ var_diskio(struct variable * vp,
- return (u_char *) & c64_ret;
- case DISKIO_READS:
- #if HAVE_DEVSTAT_GETDEVS
-- long_ret = (signed long) stat->dinfo->devices[indx].operations[DEVSTAT_READ];
-+ long_ret = (signed long) stat->dinfo->devices[indx].operations[DEVSTAT_READ] & 0xFFFFFFFF;
- #else
- long_ret = (signed long) stat->dinfo->devices[indx].num_reads;
- #endif
- return (u_char *) & long_ret;
- case DISKIO_WRITES:
- #if HAVE_DEVSTAT_GETDEVS
-- long_ret = (signed long) stat->dinfo->devices[indx].operations[DEVSTAT_WRITE];
-+ long_ret = (signed long) stat->dinfo->devices[indx].operations[DEVSTAT_WRITE] & 0xFFFFFFFF;
- #else
- long_ret = (signed long) stat->dinfo->devices[indx].num_writes;
- #endif
Modified: trunk/net-mgmt/net-snmp/files/patch-agent_mibgroup_udp-mib_data__access_udp__endpoint__freebsd4.c
===================================================================
--- trunk/net-mgmt/net-snmp/files/patch-agent_mibgroup_udp-mib_data__access_udp__endpoint__freebsd4.c 2017-02-25 19:19:24 UTC (rev 22359)
+++ trunk/net-mgmt/net-snmp/files/patch-agent_mibgroup_udp-mib_data__access_udp__endpoint__freebsd4.c 2017-02-25 19:20:04 UTC (rev 22360)
@@ -9,14 +9,3 @@
if(rc<0)
return rc;
---- agent/mibgroup/udp-mib/data_access/udp_endpoint_freebsd4.c.orig 2015-10-13 12:04:44 UTC
-+++ agent/mibgroup/udp-mib/data_access/udp_endpoint_freebsd4.c
-@@ -187,6 +187,8 @@ _load(netsnmp_container *container, u_in
- CONTAINER_INSERT(container, entry);
- }
-
-+ free(udpcb_buf);
-+
- if(rc<0)
- return rc;
-
Modified: trunk/net-mgmt/net-snmp/files/patch-kthreads
===================================================================
--- trunk/net-mgmt/net-snmp/files/patch-kthreads 2017-02-25 19:19:24 UTC (rev 22359)
+++ trunk/net-mgmt/net-snmp/files/patch-kthreads 2017-02-25 19:20:04 UTC (rev 22360)
@@ -94,99 +94,3 @@
int swrun_max_processes( void );
int swrun_count_processes_by_name( char *name );
-diff --git a/agent/mibgroup/host/data_access/swrun.c b/agent/mibgroup/host/data_access/swrun.c
-index d18ea5f..60ad5b4 100644
---- agent/mibgroup/host/data_access/swrun.c
-+++ agent/mibgroup/host/data_access/swrun.c
-@@ -75,10 +75,27 @@ shutdown_swrun(void)
- }
-
- int
--swrun_count_processes( void )
-+swrun_count_processes(int include_kthreads)
- {
-+ netsnmp_swrun_entry *entry;
-+ netsnmp_iterator *it;
-+ int i = 0;
-+
- netsnmp_cache_check_and_reload(swrun_cache);
-- return ( swrun_container ? CONTAINER_SIZE(swrun_container) : 0 );
-+ if ( !swrun_container )
-+ return 0; /* or -1 */
-+
-+ if (include_kthreads)
-+ return ( swrun_container ? CONTAINER_SIZE(swrun_container) : 0 );
-+
-+ it = CONTAINER_ITERATOR( swrun_container );
-+ while ((entry = (netsnmp_swrun_entry*)ITERATOR_NEXT( it )) != NULL) {
-+ if (4 == entry->hrSWRunType)
-+ i++;
-+ }
-+ ITERATOR_RELEASE( it );
-+
-+ return i;
- }
-
- #ifndef NETSNMP_FEATURE_REMOVE_SWRUN_MAX_PROCESSES
-diff --git a/agent/mibgroup/host/hr_system.c b/agent/mibgroup/host/hr_system.c
-index d99cc7d..e853779 100644
---- agent/mibgroup/host/hr_system.c
-+++ agent/mibgroup/host/hr_system.c
-@@ -24,6 +24,7 @@
-
- #include <net-snmp/net-snmp-includes.h>
- #include <net-snmp/agent/net-snmp-agent-includes.h>
-+#include <net-snmp/data_access/swrun.h>
-
- #include "host.h"
- #include "host_res.h"
-@@ -114,7 +115,14 @@ static long get_max_solaris_processes(void);
- static int get_load_dev(void);
- static int count_users(void);
- extern int count_processes(void);
--extern int swrun_count_processes(void);
-+#if USING_HOST_DATA_ACCESS_SWRUN_MODULE
-+static int count_kthreads = 0;
-+
-+static void parse_count_kthreads(const char *token, const char *line)
-+{
-+ count_kthreads = atoi(line);
-+}
-+#endif
-
- /*********************
- *
-@@ -194,6 +202,11 @@ init_hr_system(void)
- #ifdef NPROC_SYMBOL
- auto_nlist(NPROC_SYMBOL, 0, 0);
- #endif
-+#if USING_HOST_DATA_ACCESS_SWRUN_MODULE
-+ snmpd_register_const_config_handler("count_kthreads",
-+ parse_count_kthreads, NULL,
-+ "0|1 0 to exclude kernel threads from hrSystemProcesses.0");
-+#endif
-
- REGISTER_MIB("host/hr_system", hrsystem_variables, variable2,
- hrsystem_variables_oid);
-@@ -317,7 +330,7 @@ var_hrsys(struct variable * vp,
- return (u_char *) & long_return;
- case HRSYS_PROCS:
- #if USING_HOST_DATA_ACCESS_SWRUN_MODULE
-- long_return = swrun_count_processes();
-+ long_return = swrun_count_processes(count_kthreads);
- #elif USING_HOST_HR_SWRUN_MODULE
- long_return = count_processes();
- #else
-diff --git a/include/net-snmp/data_access/swrun.h b/include/net-snmp/data_access/swrun.h
-index 3e15c41..4f768ac 100644
---- include/net-snmp/data_access/swrun.h
-+++ include/net-snmp/data_access/swrun.h
-@@ -85,7 +85,7 @@ extern "C" {
-
- void netsnmp_swrun_entry_free(netsnmp_swrun_entry *entry);
-
-- int swrun_count_processes( void );
-+ int swrun_count_processes( int include_kthreads );
- int swrun_max_processes( void );
- int swrun_count_processes_by_name( char *name );
-
Modified: trunk/net-mgmt/net-snmp/files/patch-perl5.23
===================================================================
--- trunk/net-mgmt/net-snmp/files/patch-perl5.23 2017-02-25 19:19:24 UTC (rev 22359)
+++ trunk/net-mgmt/net-snmp/files/patch-perl5.23 2017-02-25 19:20:04 UTC (rev 22360)
@@ -133,138 +133,3 @@
use ExtUtils::MakeMaker;
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
---- agent/snmp_perl.c.orig 2015-08-11 13:07:06 UTC
-+++ agent/snmp_perl.c
-@@ -5,6 +5,10 @@
- #include <EXTERN.h>
- #include "perl.h"
-
-+#ifdef U64TYPE
-+#define U64 U64pairU32
-+#endif
-+
- #include <net-snmp/net-snmp-config.h>
- #include <net-snmp/net-snmp-includes.h>
- #include <net-snmp/agent/net-snmp-agent-includes.h>
---- perl/OID/OID.xs.orig 2015-08-11 13:07:28 UTC
-+++ perl/OID/OID.xs
-@@ -7,6 +7,10 @@
- #include "perl.h"
- #include "XSUB.h"
-
-+#ifdef U64TYPE
-+#define U64 U64pairU32
-+#endif
-+
- #include <net-snmp/net-snmp-config.h>
- #include <net-snmp/net-snmp-includes.h>
-
---- perl/SNMP/SNMP.xs.orig 2015-08-11 13:07:54 UTC
-+++ perl/SNMP/SNMP.xs
-@@ -16,6 +16,10 @@
- #include "perl.h"
- #include "XSUB.h"
-
-+#ifdef U64TYPE
-+#define U64 U64pairU32
-+#endif
-+
- #include <net-snmp/net-snmp-config.h>
- #include <net-snmp/net-snmp-includes.h>
- #include <sys/types.h>
---- perl/TrapReceiver/TrapReceiver.xs.orig 2015-08-11 13:08:02 UTC
-+++ perl/TrapReceiver/TrapReceiver.xs
-@@ -9,6 +9,10 @@
-
- #include "ppport.h"
-
-+#ifdef U64TYPE
-+#define U64 U64pairU32
-+#endif
-+
- #include <net-snmp/net-snmp-config.h>
- #include <net-snmp/net-snmp-includes.h>
- #include <net-snmp/agent/net-snmp-agent-includes.h>
---- perl/agent/agent.xs.orig 2015-08-11 13:07:48 UTC
-+++ perl/agent/agent.xs
-@@ -9,6 +9,10 @@
- #include <netdb.h>
- #include <sys/socket.h>
-
-+#ifdef U64TYPE
-+#define U64 U64pairU32
-+#endif
-+
- #include <net-snmp/net-snmp-config.h>
- #include <net-snmp/net-snmp-includes.h>
- #include <net-snmp/agent/net-snmp-agent-includes.h>
---- perl/ASN/Makefile.PL.orig 2014-12-08 20:23:22 UTC
-+++ perl/ASN/Makefile.PL
-@@ -1,3 +1,4 @@
-+package ASN;
- use ExtUtils::MakeMaker;
- require 5;
- use Config;
---- perl/AnyData_SNMP/Makefile.PL.orig 2015-09-03 22:27:45 UTC
-+++ perl/AnyData_SNMP/Makefile.PL
-@@ -1,3 +1,4 @@
-+package AnyData_SNMP;
- use ExtUtils::MakeMaker;
- # See lib/ExtUtils/MakeMaker.pm for details of how to influence
- # the contents of the Makefile that is written.
---- perl/OID/Makefile.PL.orig 2014-12-08 20:23:22 UTC
-+++ perl/OID/Makefile.PL
-@@ -1,3 +1,4 @@
-+package OID;
- # See lib/ExtUtils/MakeMaker.pm for details of how to influence
- # the contents of the Makefile that is written.
-
---- perl/SNMP/Makefile.PL.orig 2014-12-08 20:23:22 UTC
-+++ perl/SNMP/Makefile.PL
-@@ -1,3 +1,4 @@
-+package SNMP;
- use ExtUtils::MakeMaker;
- require 5;
- use Config;
---- perl/TrapReceiver/Makefile.PL.orig 2014-12-08 20:23:22 UTC
-+++ perl/TrapReceiver/Makefile.PL
-@@ -1,3 +1,4 @@
-+package TrapReceiver;
- use ExtUtils::MakeMaker;
- require 5;
- use Config;
---- perl/agent/Makefile.PL.orig 2014-12-08 20:23:22 UTC
-+++ perl/agent/Makefile.PL
-@@ -1,3 +1,4 @@
-+package agent;
- use ExtUtils::MakeMaker;
- require 5;
- use Config;
---- perl/agent/Support/Makefile.PL.orig 2014-12-08 20:23:22 UTC
-+++ perl/agent/Support/Makefile.PL
-@@ -1,3 +1,4 @@
-+package agent_Support;
- use ExtUtils::MakeMaker;
- require 5;
- use Config;
---- perl/agent/default_store/Makefile.PL.orig 2014-12-08 20:23:22 UTC
-+++ perl/agent/default_store/Makefile.PL
-@@ -1,3 +1,4 @@
-+package agent_default_store;
- use ExtUtils::MakeMaker;
- require 5;
- use Config;
---- perl/default_store/Makefile.PL.orig 2014-12-08 20:23:22 UTC
-+++ perl/default_store/Makefile.PL
-@@ -1,3 +1,4 @@
-+package default_store;
- use ExtUtils::MakeMaker;
- require 5;
- use Config;
---- perl/manager/Makefile.PL.orig 2014-12-08 20:23:22 UTC
-+++ perl/manager/Makefile.PL
-@@ -1,3 +1,4 @@
-+package manager;
- use ExtUtils::MakeMaker;
- # See lib/ExtUtils/MakeMaker.pm for details of how to influence
- # the contents of the Makefile that is written.
Modified: trunk/net-mgmt/net-snmp/files/patch-snmplib_snmp__api.c
===================================================================
--- trunk/net-mgmt/net-snmp/files/patch-snmplib_snmp__api.c 2017-02-25 19:19:24 UTC (rev 22359)
+++ trunk/net-mgmt/net-snmp/files/patch-snmplib_snmp__api.c 2017-02-25 19:20:04 UTC (rev 22360)
@@ -115,120 +115,3 @@
}
/*
---- snmplib/snmp_api.c.orig 2014-12-08 20:23:22 UTC
-+++ snmplib/snmp_api.c
-@@ -4350,10 +4350,9 @@ snmp_pdu_parse(netsnmp_pdu *pdu, u_char
- u_char type;
- u_char msg_type;
- u_char *var_val;
-- int badtype = 0;
- size_t len;
- size_t four;
-- netsnmp_variable_list *vp = NULL;
-+ netsnmp_variable_list *vp = NULL, *vplast = NULL;
- oid objid[MAX_OID_LEN];
- u_char *p;
-
-@@ -4493,38 +4492,24 @@ snmp_pdu_parse(netsnmp_pdu *pdu, u_char
- (ASN_SEQUENCE | ASN_CONSTRUCTOR),
- "varbinds");
- if (data == NULL)
-- return -1;
-+ goto fail;
-
- /*
- * get each varBind sequence
- */
- while ((int) *length > 0) {
-- netsnmp_variable_list *vptemp;
-- vptemp = (netsnmp_variable_list *) malloc(sizeof(*vptemp));
-- if (NULL == vptemp) {
-- return -1;
-- }
-- if (NULL == vp) {
-- pdu->variables = vptemp;
-- } else {
-- vp->next_variable = vptemp;
-- }
-- vp = vptemp;
-+ vp = SNMP_MALLOC_TYPEDEF(netsnmp_variable_list);
-+ if (NULL == vp)
-+ goto fail;
-
-- vp->next_variable = NULL;
-- vp->val.string = NULL;
- vp->name_length = MAX_OID_LEN;
-- vp->name = NULL;
-- vp->index = 0;
-- vp->data = NULL;
-- vp->dataFreeHook = NULL;
- DEBUGDUMPSECTION("recv", "VarBind");
- data = snmp_parse_var_op(data, objid, &vp->name_length, &vp->type,
- &vp->val_len, &var_val, length);
- if (data == NULL)
-- return -1;
-+ goto fail;
- if (snmp_set_var_objid(vp, objid, vp->name_length))
-- return -1;
-+ goto fail;
-
- len = MAX_PACKET_LENGTH;
- DEBUGDUMPHEADER("recv", "Value");
-@@ -4604,7 +4589,7 @@ snmp_pdu_parse(netsnmp_pdu *pdu, u_char
- vp->val.string = (u_char *) malloc(vp->val_len);
- }
- if (vp->val.string == NULL) {
-- return -1;
-+ goto fail;
- }
- p = asn_parse_string(var_val, &len, &vp->type, vp->val.string,
- &vp->val_len);
-@@ -4619,7 +4604,7 @@ snmp_pdu_parse(netsnmp_pdu *pdu, u_char
- vp->val_len *= sizeof(oid);
- vp->val.objid = (oid *) malloc(vp->val_len);
- if (vp->val.objid == NULL) {
-- return -1;
-+ goto fail;
- }
- memmove(vp->val.objid, objid, vp->val_len);
- break;
-@@ -4631,7 +4616,7 @@ snmp_pdu_parse(netsnmp_pdu *pdu, u_char
- case ASN_BIT_STR:
- vp->val.bitstring = (u_char *) malloc(vp->val_len);
- if (vp->val.bitstring == NULL) {
-- return -1;
-+ goto fail;
- }
- p = asn_parse_bitstring(var_val, &len, &vp->type,
- vp->val.bitstring, &vp->val_len);
-@@ -4640,12 +4625,28 @@ snmp_pdu_parse(netsnmp_pdu *pdu, u_char
- break;
- default:
- snmp_log(LOG_ERR, "bad type returned (%x)\n", vp->type);
-- badtype = -1;
-+ goto fail;
- break;
- }
- DEBUGINDENTADD(-4);
-+
-+ if (NULL == vplast) {
-+ pdu->variables = vp;
-+ } else {
-+ vplast->next_variable = vp;
-+ }
-+ vplast = vp;
-+ vp = NULL;
- }
-- return badtype;
-+ return 0;
-+
-+ fail:
-+ DEBUGMSGTL(("recv", "error while parsing VarBindList\n"));
-+ /** if we were parsing a var, remove it from the pdu and free it */
-+ if (vp)
-+ snmp_free_var(vp);
-+
-+ return -1;
- }
-
- /*
More information about the Midnightbsd-cvs
mailing list