summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2025-10-07 08:36:40 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2025-10-07 10:05:08 +0200
commit552003dbd6f9e8d8adc55d969e63b9dedcbed726 (patch)
tree6a8aa242aefec087771acd9b9af0957f020053fd
parent9443b0bc5efa33832a17567f98f8a950e29afbec (diff)
selinux: fix potential segfault in sestatus
Remove the puts(cterm) call that was likely leftover debugging code. The controlling terminal name is already properly displayed via the 'Controlling term:' label, so the raw terminal name output was redundant and could cause issues when cterm is NULL. Also add proper cleanup for the allocated cterm string. function old new delta ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/0 up/down: 0/0) Total: 0 bytes Signed-off-by: Osama Abdelkader <osama.abdelkader@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--selinux/sestatus.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/selinux/sestatus.c b/selinux/sestatus.c
index 098a4d189..cf664cc18 100644
--- a/selinux/sestatus.c
+++ b/selinux/sestatus.c
@@ -131,13 +131,13 @@ static void display_verbose(void)
puts("\nFile contexts:");
cterm = xmalloc_ttyname(0);
-//FIXME: if cterm == NULL, we segfault!??
- puts(cterm);
if (cterm && lgetfilecon(cterm, &con) >= 0) {
printf(COL_FMT "%s\n", "Controlling term:", con);
if (ENABLE_FEATURE_CLEAN_UP)
freecon(con);
}
+ if (ENABLE_FEATURE_CLEAN_UP)
+ free(cterm);
for (i = 0; fc[i] != NULL; i++) {
struct stat stbuf;