From 5f76f6b8fb7922d9c365192b3d043e66ea7414c5 Mon Sep 17 00:00:00 2001 From: Nicolas Iooss Date: Fri, 13 Apr 2018 22:34:23 +0200 Subject: [PATCH] libselinux: fix memory leak in getconlist In getconlist.c's main(), "level" is duplicated from an optional argument without being ever freed. clang's static analyzer warns about this memory leak. Free the allocated memory properly in order to remove a warning reported by clang's static analyzer. Signed-off-by: Nicolas Iooss --- libselinux/utils/getconlist.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libselinux/utils/getconlist.c b/libselinux/utils/getconlist.c index adec1781..abfe2c74 100644 --- a/libselinux/utils/getconlist.c +++ b/libselinux/utils/getconlist.c @@ -40,6 +40,7 @@ int main(int argc, char **argv) if (!is_selinux_enabled()) { fprintf(stderr, "getconlist may be used only on a SELinux kernel.\n"); + free(level); return 1; } @@ -49,6 +50,7 @@ int main(int argc, char **argv) if (((argc - optind) < 2)) { if (getcon(&cur_context) < 0) { fprintf(stderr, "Couldn't get current context.\n"); + free(level); return 2; } } else @@ -68,6 +70,7 @@ int main(int argc, char **argv) } free(usercon); + free(level); return 0; }