From 8e2a69498a0e2d69bb3f805c199a53dceccf652c Mon Sep 17 00:00:00 2001 From: stsdc <6031763+stsdc@users.noreply.github.com> Date: Sat, 4 Mar 2023 14:02:32 +0100 Subject: [PATCH] fixes segfault when can't get username via posix getpwuid --- src/Managers/Process.vala | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/Managers/Process.vala b/src/Managers/Process.vala index 4d8c3b38..22874306 100644 --- a/src/Managers/Process.vala +++ b/src/Managers/Process.vala @@ -18,7 +18,7 @@ public class Monitor.Process : GLib.Object { // User id public int uid; - public string username; + public string username = Utils.NO_DATA; Icon _icon; public Icon icon { @@ -83,9 +83,14 @@ public class Monitor.Process : GLib.Object { GTop.get_proc_uid (out proc_uid, stat.pid); uid = proc_uid.uid; - // getting username - unowned Posix.Passwd passwd = Posix.getpwuid (uid); - username = passwd.pw_name; + + // getting username + // @TOFIX: Can't get username for postgres when started from docker (?) + unowned Posix.Passwd passwd = Posix.getpwuid (uid); + if (passwd != null){ + username = passwd.pw_name; + } + exists = parse_stat () && read_cmdline (); get_usage (0, 1);