From 7f554464a16723e305186f5df0889406f808363f Mon Sep 17 00:00:00 2001 From: Norbert Thiebaud Date: Thu, 10 Jul 2014 12:02:34 +0200 Subject: coverity#982762 Dereference NULL Change-Id: I9da66fe9cf279231d6024f23fbb273797b289ba7 --- sal/osl/unx/process.cxx | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'sal') diff --git a/sal/osl/unx/process.cxx b/sal/osl/unx/process.cxx index 0a0ba0240fb1..eb2458643c6e 100644 --- a/sal/osl/unx/process.cxx +++ b/sal/osl/unx/process.cxx @@ -919,11 +919,14 @@ bool osl_getProcStat(pid_t pid, struct osl_procStat* procstat) return false; tmp = strrchr(prstatbuf, ')'); - *tmp = '\0'; - memset(procstat->command, 0, sizeof(procstat->command)); + if(tmp) + { + *tmp = '\0'; - sscanf(prstatbuf, "%d (%15c", &procstat->pid, procstat->command); - sscanf(tmp + 2, + memset(procstat->command, 0, sizeof(procstat->command)); + + sscanf(prstatbuf, "%d (%15c", &procstat->pid, procstat->command); + sscanf(tmp + 2, "%c" "%i %i %i %i %i" "%lu %lu %lu %lu %lu" @@ -943,6 +946,11 @@ bool osl_getProcStat(pid_t pid, struct osl_procStat* procstat) procstat->signal, procstat->blocked, procstat->sigignore, procstat->sigcatch, &procstat->wchan, &procstat->nswap, &procstat->cnswap ); + } + else + { + bRet = false; + } } return bRet; } -- cgit