diff options
author | Christian Göttsche <cgzones@googlemail.com> | 2021-04-04 18:07:26 +0200 |
---|---|---|
committer | cgzones <cgzones@googlemail.com> | 2021-06-09 14:40:04 +0200 |
commit | 8154125d4bf26fff20241eebe17954254409a522 (patch) | |
tree | cebf390fc17b80cd4774a0309b72ba874a977599 /Process.c | |
parent | 94d37989b409abc6f1cae8028a9435eb5b04f66a (diff) |
Check processes for using deleted shared libraries
Shared libraries can be replaced by an upgrade, highlight processes
using deleted shared libraries.
Link with highlightDeletedExe setting, enabled by default.
Currently only checked on Linux.
Diffstat (limited to 'Process.c')
-rw-r--r-- | Process.c | 11 |
1 files changed, 8 insertions, 3 deletions
@@ -472,7 +472,8 @@ void Process_makeCommandStr(Process *this) { const int baseAttr = Process_isThread(this) ? CRT_colors[PROCESS_THREAD_BASENAME] : CRT_colors[PROCESS_BASENAME]; const int commAttr = Process_isThread(this) ? CRT_colors[PROCESS_THREAD_COMM] : CRT_colors[PROCESS_COMM]; - const int delAttr = CRT_colors[FAILED_READ]; + const int delExeAttr = CRT_colors[FAILED_READ]; + const int delLibAttr = CRT_colors[PROCESS_TAG]; /* Establish some shortcuts to data we need */ const char *cmdline = this->cmdline; @@ -529,14 +530,18 @@ void Process_makeCommandStr(Process *this) { WRITE_HIGHLIGHT(exeBasenameOffset, exeBasenameLen, commAttr, CMDLINE_HIGHLIGHT_FLAG_COMM); WRITE_HIGHLIGHT(exeBasenameOffset, exeBasenameLen, baseAttr, CMDLINE_HIGHLIGHT_FLAG_BASENAME); if (this->procExeDeleted) - WRITE_HIGHLIGHT(exeBasenameOffset, exeBasenameLen, delAttr, CMDLINE_HIGHLIGHT_FLAG_DELETED); + WRITE_HIGHLIGHT(exeBasenameOffset, exeBasenameLen, delExeAttr, CMDLINE_HIGHLIGHT_FLAG_DELETED); + else if (this->usesDeletedLib) + WRITE_HIGHLIGHT(exeBasenameOffset, exeBasenameLen, delLibAttr, CMDLINE_HIGHLIGHT_FLAG_DELETED); str = stpcpy(str, procExe); } else { if (haveCommInExe) WRITE_HIGHLIGHT(0, exeBasenameLen, commAttr, CMDLINE_HIGHLIGHT_FLAG_COMM); WRITE_HIGHLIGHT(0, exeBasenameLen, baseAttr, CMDLINE_HIGHLIGHT_FLAG_BASENAME); if (this->procExeDeleted) - WRITE_HIGHLIGHT(0, exeBasenameLen, delAttr, CMDLINE_HIGHLIGHT_FLAG_DELETED); + WRITE_HIGHLIGHT(0, exeBasenameLen, delExeAttr, CMDLINE_HIGHLIGHT_FLAG_DELETED); + else if (this->usesDeletedLib) + WRITE_HIGHLIGHT(0, exeBasenameLen, delLibAttr, CMDLINE_HIGHLIGHT_FLAG_DELETED); str = stpcpy(str, procExe + exeBasenameOffset); } |