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 <nicolas.iooss@m4x.org>
This commit is contained in:
Nicolas Iooss 2018-04-13 22:34:23 +02:00 committed by William Roberts
parent c56bb631c4
commit 5f76f6b8fb

View File

@ -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;
}