diff options
author | Benny Baumann <BenBE@geshi.org> | 2020-12-21 22:35:38 +0100 |
---|---|---|
committer | Benny Baumann <BenBE@geshi.org> | 2020-12-21 22:35:38 +0100 |
commit | 6502b026664a8a53fceff16f52981b43fe73cd2b (patch) | |
tree | cd4484a1d7ffaa59ecf3b8023ca7d853a68f2c0f | |
parent | 10c6810bffb6f0107b9a436327524f8379f75cec (diff) |
DiD: Ensure string offsets are inside string boundaries
-rw-r--r-- | linux/LinuxProcess.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/linux/LinuxProcess.c b/linux/LinuxProcess.c index 073cd649..802e7225 100644 --- a/linux/LinuxProcess.c +++ b/linux/LinuxProcess.c @@ -376,6 +376,9 @@ void LinuxProcess_makeCommandStr(Process* this) { cmdline = "(zombie)"; } + assert(cmdlineBasenameOffset >= 0); + assert(cmdlineBasenameOffset <= strlen(cmdline)); + if (!showMergedCommand || !procExe || !procComm) { /* fall back to cmdline */ if (showMergedCommand && !procExe && procComm && strlen(procComm)) { /* Prefix column with comm */ if (strncmp(cmdline + cmdlineBasenameOffset, procComm, MINIMUM(TASK_COMM_LEN - 1, strlen(procComm))) != 0) { @@ -411,6 +414,9 @@ void LinuxProcess_makeCommandStr(Process* this) { int exeBasenameOffset = lp->procExeBasenameOffset; int exeBasenameLen = exeLen - exeBasenameOffset; + assert(exeBasenameOffset >= 0); + assert(exeBasenameOffset <= strlen(procExe)); + /* Start with copying exe */ if (showProgramPath) { str = stpcpy(str, procExe); |