summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJinfeng Wang <jinfeng.wang.cn@windriver.com>2025-02-20 10:27:18 +0800
committerArmin Kuster <akuster808@gmail.com>2025-03-06 09:39:57 -0500
commitd0c2a3d383dac9fe7e85b7d87784b7f5b5c62c5e (patch)
tree4f4ed6315b0f960ee755a9f86fd24fc5a04c5bfd
parent178d4ae7c2040ff6b25aa987f4ecf67a0a5c5e99 (diff)
downloadmeta-openembedded-d0c2a3d383dac9fe7e85b7d87784b7f5b5c62c5e.tar.gz
net-snmp: fix memory leak
Backport patch [1] to fix memory leak by freeing tclist [1] https://github.com/net-snmp/net-snmp/commit/4bd0d9a8a2860c2c46307aef5ee1ccc69f7e3b62 Signed-off-by: Jinfeng Wang <jinfeng.wang.cn@windriver.com> Signed-off-by: Armin Kuster <akuster808@gmail.com>
-rw-r--r--meta-networking/recipes-protocols/net-snmp/net-snmp/0001-unload_all_mibs-fix-memory-leak-by-freeing-tclist.patch40
-rw-r--r--meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.3.bb1
2 files changed, 41 insertions, 0 deletions
diff --git a/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-unload_all_mibs-fix-memory-leak-by-freeing-tclist.patch b/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-unload_all_mibs-fix-memory-leak-by-freeing-tclist.patch
new file mode 100644
index 0000000000..cc498c7fc9
--- /dev/null
+++ b/meta-networking/recipes-protocols/net-snmp/net-snmp/0001-unload_all_mibs-fix-memory-leak-by-freeing-tclist.patch
@@ -0,0 +1,40 @@
1From 4bd0d9a8a2860c2c46307aef5ee1ccc69f7e3b62 Mon Sep 17 00:00:00 2001
2From: JanSoundhouse <jan.sondhauss@wago.com>
3Date: Mon, 5 Sep 2022 11:25:58 +0200
4Subject: [PATCH] unload_all_mibs: fix memory leak by freeing tclist
5
6tclist is always allocated in netsnmp_init_mib_internals, when doing multiple init_snmp("")/snmp_shutdown("") this memory is never free'd.
7
8Upstream-Status: Backport [https://github.com/net-snmp/net-snmp/commit/4bd0d9a8a2860c2c46307aef5ee1ccc69f7e3b62]
9
10Signed-off-by: Jinfeng Wang <jinfeng.wang.cn@windriver.com>
11---
12 snmplib/parse.c | 5 +++--
13 1 file changed, 3 insertions(+), 2 deletions(-)
14
15diff --git a/snmplib/parse.c b/snmplib/parse.c
16index b3e2f3ae5c..71bdf75ff8 100644
17--- a/snmplib/parse.c
18+++ b/snmplib/parse.c
19@@ -28,7 +28,7 @@ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
20 SOFTWARE.
21 ******************************************************************/
22 /*
23- * Copyright � 2003 Sun Microsystems, Inc. All rights reserved.
24+ * Copyright © 2003 Sun Microsystems, Inc. All rights reserved.
25 * Use is subject to license terms specified in the COPYING file
26 * distributed with the Net-SNMP package.
27 */
28@@ -4215,7 +4215,8 @@ unload_all_mibs(void)
29 if (ptc->description)
30 free(ptc->description);
31 }
32- memset(tclist, 0, tc_alloc * sizeof(struct tc));
33+ SNMP_FREE(tclist);
34+ tc_alloc = 0;
35
36 memset(buckets, 0, sizeof(buckets));
37 memset(nbuckets, 0, sizeof(nbuckets));
38--
392.34.1
40
diff --git a/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.3.bb b/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.3.bb
index eb8e1599fb..88466c94b4 100644
--- a/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.3.bb
+++ b/meta-networking/recipes-protocols/net-snmp/net-snmp_5.9.3.bb
@@ -27,6 +27,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.tar.gz \
27 file://reproducibility-have-printcap.patch \ 27 file://reproducibility-have-printcap.patch \
28 file://0001-ac_add_search_path.m4-keep-consistent-between-32bit.patch \ 28 file://0001-ac_add_search_path.m4-keep-consistent-between-32bit.patch \
29 file://CVE-2022-44792-CVE-2022-44793.patch \ 29 file://CVE-2022-44792-CVE-2022-44793.patch \
30 file://0001-unload_all_mibs-fix-memory-leak-by-freeing-tclist.patch \
30 " 31 "
31SRC_URI[sha256sum] = "2097f29b7e1bf3f1300b4bae52fa2308d0bb8d5d3998dbe02f9462a413a2ef0a" 32SRC_URI[sha256sum] = "2097f29b7e1bf3f1300b4bae52fa2308d0bb8d5d3998dbe02f9462a413a2ef0a"
32 33