summaryrefslogtreecommitdiffstats
path: root/ProcessList.c
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2014-04-09 17:43:54 -0300
committerHisham Muhammad <hisham@gobolinux.org>2014-04-09 17:43:54 -0300
commitcb297af8487daae6a6f552d17b13d29912882584 (patch)
tree14c3c826a0789e891ed6376a84dee6b4f1e9025a /ProcessList.c
parentf2e4556b5ec51a714cb94bf5ceee729e3c542b6d (diff)
Fix invalid access when highlighting basename of threads.
Diffstat (limited to 'ProcessList.c')
-rw-r--r--ProcessList.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/ProcessList.c b/ProcessList.c
index 850715e8..813b9775 100644
--- a/ProcessList.c
+++ b/ProcessList.c
@@ -708,10 +708,10 @@ static bool ProcessList_readCmdlineFile(Process* process, const char* dirname, c
if (tokenEnd == 0) {
tokenEnd = amtRead;
}
- process->basenameOffset = tokenEnd;
command[amtRead] = '\0';
free(process->comm);
process->comm = strdup(command);
+ process->basenameOffset = tokenEnd;
return true;
}
@@ -831,10 +831,12 @@ static bool ProcessList_processEntries(ProcessList* this, const char* dirname, P
if (process->state == 'Z') {
free(process->comm);
+ process->basenameOffset = -1;
process->comm = strdup(command);
} else if (Process_isThread(process)) {
if (this->showThreadNames || Process_isKernelThread(process) || process->state == 'Z') {
free(process->comm);
+ process->basenameOffset = -1;
process->comm = strdup(command);
} else if (this->showingThreadNames) {
if (! ProcessList_readCmdlineFile(process, dirname, name))
@@ -858,6 +860,7 @@ static bool ProcessList_processEntries(ProcessList* this, const char* dirname, P
errorReadingProcess: {
if (process->comm) {
free(process->comm);
+ process->basenameOffset = -1;
process->comm = NULL;
}
if (existingProcess)

© 2014-2024 Faster IT GmbH | imprint | privacy policy