diff options
| -rw-r--r-- | src/shared/util.c | 12 | 
1 files changed, 11 insertions, 1 deletions
| diff --git a/src/shared/util.c b/src/shared/util.c index 04811ff26b..ceee6f2c90 100644 --- a/src/shared/util.c +++ b/src/shared/util.c @@ -729,6 +729,8 @@ int is_kernel_thread(pid_t pid) {  int get_process_exe(pid_t pid, char **name) {          const char *p; +        char *d; +        int r;          assert(pid >= 0);          assert(name); @@ -738,7 +740,15 @@ int get_process_exe(pid_t pid, char **name) {          else                  p = procfs_file_alloca(pid, "exe"); -        return readlink_malloc(p, name); +        r = readlink_malloc(p, name); +        if (r < 0) +                return r; + +        d = endswith(*name, " (deleted)"); +        if (d) +                *d = '\0'; + +        return 0;  }  static int get_process_id(pid_t pid, const char *field, uid_t *uid) { | 
