From dc75deb5f084edd6d4d2733a63942bc1c2198507 Mon Sep 17 00:00:00 2001 From: kyliwenchong Date: Fri, 22 Jul 2022 10:05:48 +0800 Subject: [PATCH] fix a memory leak when kmod_list_append() fails --- ...ix-a-memory-leak-when-kmod_list_appe.patch | 33 +++++++++++++++++++ kmod.spec | 6 +++- 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 backprot-libkmod-config-fix-a-memory-leak-when-kmod_list_appe.patch diff --git a/backprot-libkmod-config-fix-a-memory-leak-when-kmod_list_appe.patch b/backprot-libkmod-config-fix-a-memory-leak-when-kmod_list_appe.patch new file mode 100644 index 0000000..8c942f7 --- /dev/null +++ b/backprot-libkmod-config-fix-a-memory-leak-when-kmod_list_appe.patch @@ -0,0 +1,33 @@ +From 39dd171623744ac390dadf487c5a3ebf0b69f2ca Mon Sep 17 00:00:00 2001 +From: Seung-Woo Kim +Date: Fri, 9 Apr 2021 18:44:23 +0900 +Subject: [PATCH] libkmod-config: fix a memory leak when kmod_list_append() + fails + +From kmod_config_new(), when kmod_list_append() fails, +fix not list-appended kmod_config_path leak. + +Signed-off-by: Seung-Woo Kim +--- + libkmod/libkmod-config.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/libkmod/libkmod-config.c b/libkmod/libkmod-config.c +index 7b62367..78957db 100644 +--- a/libkmod/libkmod-config.c ++++ b/libkmod/libkmod-config.c +@@ -853,8 +853,10 @@ int kmod_config_new(struct kmod_ctx *ctx, struct kmod_config **p_config, + memcpy(cf->path, path, pathlen); + + tmp = kmod_list_append(path_list, cf); +- if (tmp == NULL) ++ if (tmp == NULL) { ++ free(cf); + goto oom; ++ } + path_list = tmp; + } + +-- +2.23.0 + diff --git a/kmod.spec b/kmod.spec index 5f88bb9..90d7e59 100644 --- a/kmod.spec +++ b/kmod.spec @@ -1,6 +1,6 @@ Name: kmod Version: 27 -Release: 10 +Release: 11 Summary: Kernel module management # GPLv2+ is used by programs, LGPLv2+ is used for libraries. License: GPLv2+ and LGPLv2+ @@ -15,6 +15,7 @@ Patch6002: backport-libkmod-kmod_log_null-qualify-ctx-argument-as-const.pat Patch6003: backport-depmod-do-not-output-.bin-to-stdout.patch Patch6004: backport-libkmod-kmod_builtin_get_modinfo-free-modinfo-on-err.patch Patch6005: backport-depmod-output_builtin_alias_bin-free-idx-on-error-pa.patch +Patch6006: backprot-libkmod-config-fix-a-memory-leak-when-kmod_list_appe.patch Patch9000: bugfix-kmod-20-8-depmod-Don-t-unlinkat-orig-depfile-and-add-fsync.patch Recommends: %{name}-help = %{version}-%{release} @@ -111,6 +112,9 @@ install -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/depmod.d/dist.conf %doc TODO NEWS README %changelog +* Fri Jul 22 2022 liwenchong - 27-11 +- fix memeory leak + * Fri Aug 13 2021 YangYanchao - 27-10 - weak-modules: fix a bug when using weak_modules without '$' -- Gitee