From 606e2cbb2d607820345aa20d4095613b1f563a08 Mon Sep 17 00:00:00 2001
From: Jinfeng Wang <jinfeng.wang.cn@windriver.com>
Date: Wed, 9 Apr 2025 09:24:45 +0800
Subject: [PATCH] unload_all_mibs: fix memory leak by freeing tclist

tclist is always allocated in netsnmp_init_mib_internals, when doing multiple init_snmp("")/snmp_shutdown("") this memory is never free'd.
Remove the special character in the origin commit.

Upstream-Status: Backport [https://github.com/net-snmp/net-snmp/commit/4bd0d9a8a2860c2c46307aef5ee1ccc69f7e3b62]

Signed-off-by: Jinfeng Wang <jinfeng.wang.cn@windriver.com>
---
 snmplib/parse.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/snmplib/parse.c b/snmplib/parse.c
index 9406f4f88..2f9a20175 100644
--- a/snmplib/parse.c
+++ b/snmplib/parse.c
@@ -4225,7 +4225,8 @@ unload_all_mibs(void)
         if (ptc->description)
             free(ptc->description);
     }
-    memset(tclist, 0, tc_alloc * sizeof(struct tc));
+    SNMP_FREE(tclist);
+    tc_alloc = 0;
 
     memset(buckets, 0, sizeof(buckets));
     memset(nbuckets, 0, sizeof(nbuckets));
-- 
2.34.1

