From 0696b8aae8c5e84d47893a78d6b7aeb416cba38e Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Wed, 6 Jun 2007 07:40:16 +0000 Subject: ps: fix -Z (by Yuichi Nakamura ) --- libbb/procps.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'libbb/procps.c') diff --git a/libbb/procps.c b/libbb/procps.c index 946f569f5..be0d61bd3 100644 --- a/libbb/procps.c +++ b/libbb/procps.c @@ -4,7 +4,8 @@ * * Copyright 1998 by Albert Cahalan; all rights reserved. * Copyright (C) 2002 by Vladimir Oleynik - * + * SELinux support: (c) 2007 by Yuichi Nakamura + * * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. */ @@ -95,6 +96,7 @@ void free_procps_scan(procps_status_t* sp) { closedir(sp->dir); free(sp->cmd); + USE_SELINUX(free(sp->context);) free(sp); } @@ -132,6 +134,13 @@ procps_status_t* procps_scan(procps_status_t* sp, int flags) sp->pid = pid; if (!(flags & ~PSSCAN_PID)) break; +#if ENABLE_SELINUX + if (flags & PSSCAN_CONTEXT) { + if (getpidcon(sp->pid, &sp->context) < 0) + sp->context = NULL; + } +#endif + filename_tail = filename + sprintf(filename, "/proc/%d", pid); if (flags & PSSCAN_UIDGID) { -- cgit v1.2.3