components/net-snmp/patches/013.6852099.proxy.patch
changeset 813 63a2c1675495
parent 252 ee0fb1eabcbf
equal deleted inserted replaced
812:c7c0d2c379c0 813:63a2c1675495
     1 --- net-snmp-5.4.1/agent/mibgroup/ucd-snmp/proxy.c	Tue Oct 17 09:16:29 2006
     1 --- a/agent/mibgroup/ucd-snmp/proxy.c	2006-10-17 18:16:29.000000000 +0200
     2 +++ patch/net-snmp-5.4.1/agent/mibgroup/ucd-snmp/proxy.c	Tue Sep 29 07:36:48 2009
     2 +++ b/agent/mibgroup/ucd-snmp/proxy.c	2012-03-27 09:02:10.488425400 +0200
     3 @@ -408,6 +408,8 @@
     3 @@ -396,6 +396,8 @@
       
     4  
       
     5      if (!pdu || !sp) {
       
     6          netsnmp_set_request_error(reqinfo, requests, SNMP_ERR_GENERR);
       
     7 +        if (pdu)
       
     8 +            snmp_free_pdu(pdu);
       
     9          return SNMP_ERR_NOERROR;
       
    10      }
       
    11  
       
    12 @@ -408,6 +410,8 @@
     4                  /*
    13                  /*
     5                   * too large 
    14                   * too large 
     6                   */
    15                   */
     7 +		if (pdu)
    16 +                if (pdu)
     8 +			snmp_free_pdu(pdu);
    17 +                    snmp_free_pdu(pdu);
     9                  snmp_log(LOG_ERR,
    18                  snmp_log(LOG_ERR,
    10                           "proxy oid request length is too long\n");
    19                           "proxy oid request length is too long\n");
    11                  return SNMP_ERR_NOERROR;
    20                  return SNMP_ERR_NOERROR;
    12 @@ -437,6 +439,8 @@
    21 @@ -437,6 +441,8 @@
    13       */
    22       */
    14      if (!proxy_fill_in_session(handler, reqinfo, (void **)&configured)) {
    23      if (!proxy_fill_in_session(handler, reqinfo, (void **)&configured)) {
    15          netsnmp_set_request_error(reqinfo, requests, SNMP_ERR_GENERR);
    24          netsnmp_set_request_error(reqinfo, requests, SNMP_ERR_GENERR);
    16 +	if (pdu)
    25 +        if (pdu)
    17 +		snmp_free_pdu(pdu);
    26 +            snmp_free_pdu(pdu);
    18          return SNMP_ERR_NOERROR;
    27          return SNMP_ERR_NOERROR;
    19      }
    28      }
    20  
    29  
    21 @@ -451,6 +455,8 @@
       
    22  
       
    23      /* Free any special parameters generated on the session */
       
    24      proxy_free_filled_in_session_args(sp->sess, (void **)&configured);
       
    25 +    if (pdu)
       
    26 +	snmp_free_pdu(pdu);
       
    27  
       
    28      return SNMP_ERR_NOERROR;
       
    29  }