summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cgroups.cpp5
-rw-r--r--src/proctable.cpp11
-rw-r--r--src/selinux.cpp3
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 ("");
}