From: kostas <> Date: Fri, 27 Feb 1998 05:16:26 +0000 (+0000) Subject: Fixed snmp memleaks X-Git-Tag: SQUID_3_0_PRE1~3969 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c8f322d566f437cfeb591f29330466886c2b4855;p=thirdparty%2Fsquid.git Fixed snmp memleaks --- diff --git a/include/util.h b/include/util.h index c77f0b806c..d27dce2309 100644 --- a/include/util.h +++ b/include/util.h @@ -1,5 +1,5 @@ /* - * $Id: util.h,v 1.41 1998/02/23 13:04:40 rousskov Exp $ + * $Id: util.h,v 1.42 1998/02/26 22:16:26 kostas Exp $ * * AUTHOR: Harvest Derived * @@ -127,6 +127,10 @@ #endif #endif +#if defined(_SQUID_FREEBSD_) +#define _etext etext +#endif + extern const char *getfullhostname(void); extern const char *mkhttpdlogtime(const time_t *); extern const char *mkrfc1123(time_t); diff --git a/lib/util.c b/lib/util.c index 083bca4903..36350d17a6 100644 --- a/lib/util.c +++ b/lib/util.c @@ -1,6 +1,6 @@ /* - * $Id: util.c,v 1.45 1998/02/21 00:56:39 rousskov Exp $ + * $Id: util.c,v 1.46 1998/02/26 22:16:26 kostas Exp $ * * DEBUG: * AUTHOR: Harvest Derived @@ -28,6 +28,7 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * */ +#define _etext etext /* * Copyright (c) 1994, 1995. All rights reserved. @@ -410,6 +411,7 @@ xmalloc_find_leaks(void) { int B, I; int leak_sum = 0; + extern void _etext; fprintf(stderr, "----- Memory map ----\n"); xmalloc_scan_region(&_etext, (void *) sbrk(0) - (void *) &_etext, 0); diff --git a/snmplib/snmp_vars.c b/snmplib/snmp_vars.c index 61ef2f0f3b..1074257abe 100644 --- a/snmplib/snmp_vars.c +++ b/snmplib/snmp_vars.c @@ -238,6 +238,9 @@ void snmp_var_free(struct variable_list *Ptr) if (Ptr->val.string && Ptr->val_len > 0) xfree((char *) Ptr->val.string); + else + if (Ptr->val.integer && Ptr->val_len > 0) + xfree((char *) Ptr->val.integer); xfree(Ptr); } diff --git a/src/fqdncache.cc b/src/fqdncache.cc index 1e271dc0cc..9b015efc58 100644 --- a/src/fqdncache.cc +++ b/src/fqdncache.cc @@ -1,6 +1,6 @@ /* - * $Id: fqdncache.cc,v 1.87 1998/02/26 18:00:43 wessels Exp $ + * $Id: fqdncache.cc,v 1.88 1998/02/26 22:16:28 kostas Exp $ * * DEBUG: section 35 FQDN Cache * AUTHOR: Harvest Derived @@ -973,9 +973,6 @@ snmp_fqdncacheFn(variable_list * Var, long *ErrP) default: *ErrP = SNMP_ERR_NOSUCHNAME; snmp_var_free(Answer); -#if 0 - xfree(Answer->val.integer); -#endif return (NULL); } return Answer; diff --git a/src/ipcache.cc b/src/ipcache.cc index 0c0a01968a..d1ba8ebb14 100644 --- a/src/ipcache.cc +++ b/src/ipcache.cc @@ -1,6 +1,6 @@ /* - * $Id: ipcache.cc,v 1.162 1998/02/26 18:00:44 wessels Exp $ + * $Id: ipcache.cc,v 1.163 1998/02/26 22:16:28 kostas Exp $ * * DEBUG: section 14 IP Cache * AUTHOR: Harvest Derived @@ -1112,7 +1112,6 @@ snmp_ipcacheFn(variable_list * Var, long *ErrP) default: *ErrP = SNMP_ERR_NOSUCHNAME; snmp_var_free(Answer); - xfree(Answer->val.integer); return (NULL); } return Answer; diff --git a/src/net_db.cc b/src/net_db.cc index 7f5d1f3821..3a532fab53 100644 --- a/src/net_db.cc +++ b/src/net_db.cc @@ -1,6 +1,6 @@ /* - * $Id: net_db.cc,v 1.70 1998/02/26 18:00:47 wessels Exp $ + * $Id: net_db.cc,v 1.71 1998/02/26 22:16:29 kostas Exp $ * * DEBUG: section 37 Network Measurement Database * AUTHOR: Duane Wessels @@ -787,7 +787,6 @@ snmp_netdbFn(variable_list * Var, long *ErrP) default: *ErrP = SNMP_ERR_NOSUCHNAME; snmp_var_free(Answer); - xfree(Answer->val.integer); return (NULL); } #endif diff --git a/src/snmp_agent.cc b/src/snmp_agent.cc index e31f01b02c..f0de775ad1 100644 --- a/src/snmp_agent.cc +++ b/src/snmp_agent.cc @@ -110,7 +110,7 @@ snmpAclCheckDone(int answer, void *data) return; } } - Session->community = xstrdup(Community); + Session->community = Community; Session->community_len = strlen(Community); RespPDU = snmp_agent_response(PDU); snmp_free_pdu(PDU); @@ -765,7 +765,6 @@ snmp_prfPeerFn(variable_list * Var, long *ErrP) default: *ErrP = SNMP_ERR_NOSUCHNAME; snmp_var_free(Answer); - xfree(Answer->val.integer); return (NULL); } return Answer; @@ -835,9 +834,6 @@ snmp_prfProtoFn(variable_list * Var, long *ErrP) *(Answer->val.integer) = (long) store_swap_size; break; default: -#if 0 - xfree(Answer->val.integer); -#endif *ErrP = SNMP_ERR_NOSUCHNAME; snmp_var_free(Answer); return (NULL); @@ -887,9 +883,6 @@ snmp_prfProtoFn(variable_list * Var, long *ErrP) x = statHistDeltaMedian(&l->dns.svc_time, &f->dns.svc_time); break; default: -#if 0 - xfree(Answer->val.integer); -#endif *ErrP = SNMP_ERR_NOSUCHNAME; snmp_var_free(Answer); return (NULL); diff --git a/src/squid.h b/src/squid.h index 58d1058e8e..02fc553322 100644 --- a/src/squid.h +++ b/src/squid.h @@ -1,6 +1,6 @@ /* - * $Id: squid.h,v 1.159 1998/02/22 11:59:59 kostas Exp $ + * $Id: squid.h,v 1.160 1998/02/26 22:16:31 kostas Exp $ * * AUTHOR: Duane Wessels * @@ -350,5 +350,4 @@ struct rusage { #define calloc + #define sprintf + #define strdup + - #endif /* SQUID_H */