[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