mirror of https://github.com/xzeldon/htop.git
Return when reading cmdline fails (e.g. zombie process)
This commit is contained in:
parent
16406ea330
commit
bd5d37f297
|
@ -471,23 +471,25 @@ static bool LinuxProcessList_readCmdlineFile(Process* process, const char* dirna
|
|||
close(fd);
|
||||
int tokenEnd = 0;
|
||||
int lastChar = 0;
|
||||
if (amtRead > 0) {
|
||||
for (int i = 0; i < amtRead; i++)
|
||||
if (command[i] == '\0' || command[i] == '\n') {
|
||||
if (tokenEnd == 0) {
|
||||
tokenEnd = i;
|
||||
}
|
||||
command[i] = ' ';
|
||||
} else {
|
||||
lastChar = i;
|
||||
if (amtRead <= 0) {
|
||||
return false;
|
||||
}
|
||||
for (int i = 0; i < amtRead; i++) {
|
||||
if (command[i] == '\0' || command[i] == '\n') {
|
||||
if (tokenEnd == 0) {
|
||||
tokenEnd = i;
|
||||
}
|
||||
command[i] = ' ';
|
||||
} else {
|
||||
lastChar = i;
|
||||
}
|
||||
}
|
||||
if (tokenEnd == 0) {
|
||||
tokenEnd = amtRead;
|
||||
}
|
||||
command[lastChar + 1] = '\0';
|
||||
process->basenameOffset = tokenEnd;
|
||||
setCommand(process, command, lastChar + 1);
|
||||
setCommand(process, command, lastChar);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue