Re: [PATCH v2] selftests/lsm: Fix memory leak in attr_lsm_count

William Roberts <[email protected]>
Newsgroups org.kernel.vger.linux-security-module,org.kernel.vger.linux-kernel,org.kernel.vger.linux-kselftest
Message-ID <CAFftDdp9TF3Jp+4yff9aJLnKBbzSzy6BK=og6+m+CXG9wO=OsQ@mail.gmail.com>
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]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.