diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/cgroups.cpp | 5 | ||||
| -rw-r--r-- | src/proctable.cpp | 11 | ||||
| -rw-r--r-- | src/selinux.cpp | 3 |
3 files changed, 17 insertions, 2 deletions
diff --git a/src/cgroups.cpp b/src/cgroups.cpp index e21196e..e04e4e3 100644 --- a/src/cgroups.cpp +++ b/src/cgroups.cpp @@ -143,8 +143,11 @@ get_process_cgroup_info(ProcInfo *info) char **lines; int i; - if (!cgroups_enabled()) + if (!cgroups_enabled()) { + if (!info->cgroup_name) + info->cgroup_name = g_strdup (""); return; + } /* read out of /proc/pid/cgroup */ path = g_strdup_printf("/proc/%d/cgroup", info->pid); diff --git a/src/proctable.cpp b/src/proctable.cpp index 2316109..bf965a2 100644 --- a/src/proctable.cpp +++ b/src/proctable.cpp @@ -817,7 +817,7 @@ get_process_systemd_info(ProcInfo *info) uid_t uid; if (!LOGIND_RUNNING()) - return; + goto out; free(info->unit); info->unit = NULL; @@ -837,7 +837,16 @@ get_process_systemd_info(ProcInfo *info) info->owner = info->lookup_user(uid); else info->owner = ""; + +out: #endif + + if (!info->unit) + info->unit = strdup (""); + if (!info->session) + info->session = strdup (""); + if (!info->seat) + info->seat = strdup (""); } static void diff --git a/src/selinux.cpp b/src/selinux.cpp index f9eaddf..b0f3270 100644 --- a/src/selinux.cpp +++ b/src/selinux.cpp @@ -33,6 +33,9 @@ get_process_selinux_context (ProcInfo *info) info->security_context = g_strdup (con); freecon (con); } + + if (!info->security_context) + info->security_context = g_strdup (""); } |
