summaryrefslogtreecommitdiff
path: root/tools/testing
diff options
context:
space:
mode:
authorWang Yan <wangyan01@kylinos.cn>2026-07-03 20:09:51 +0800
committerPaul Moore <paul@paul-moore.com>2026-07-07 15:14:00 -0400
commit0cee720cfd51402cfcb14d96cb326a36c13b823a (patch)
tree4f496a4fd4d39ce8f4fc518b274117a2de709286 /tools/testing
parent15c1f17979712407a4a71f2129f89ecd625ccbe8 (diff)
downloadlinux-0cee720cfd51402cfcb14d96cb326a36c13b823a.tar.gz
linux-0cee720cfd51402cfcb14d96cb326a36c13b823a.zip
selftests/lsm: Fix memory leak in attr_lsm_count
The calloc-allocated buffer in attr_lsm_count() is never released on any exit path, including both the normal return path and the early return when read_sysfs_lsms fails, resulting in a heap memory leak. Add free() for the buffer on all return branches to fix the leak. Fixes: d3d929a8b0cd ("LSM: selftests for Linux Security Module syscalls") Signed-off-by: Wang Yan <wangyan01@kylinos.cn> Reviewed-by: William Roberts <bill.c.roberts@gmail.com> Tested-by: William Roberts <bill.c.roberts@gmail.com> Signed-off-by: Paul Moore <paul@paul-moore.com>
Diffstat (limited to 'tools/testing')
-rw-r--r--tools/testing/selftests/lsm/common.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/tools/testing/selftests/lsm/common.c b/tools/testing/selftests/lsm/common.c
index 9ad258912646..927dce4f04cb 100644
--- a/tools/testing/selftests/lsm/common.c
+++ b/tools/testing/selftests/lsm/common.c
@@ -76,7 +76,7 @@ int attr_lsm_count(void)
return 0;
if (read_sysfs_lsms(names, sysconf(_SC_PAGESIZE)))
- return 0;
+ goto out;
if (strstr(names, "selinux"))
count++;
@@ -85,5 +85,7 @@ int attr_lsm_count(void)
if (strstr(names, "apparmor"))
count++;
+out:
+ free(names);
return count;
}