On Fri, Jul 3, 2026 at 7:10 AM Wang Yan <[email protected]> wrote: > > 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 <[email protected]> > --- > tools/testing/selftests/lsm/common.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > 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; > } > -- > 2.25.1 >
Reviewed-by: William Roberts <[email protected]> Tested-by: William Roberts <[email protected]>

