pgrep: some coverity fixes
procps_ns_get_id should be checked for < 0 not -1 strncpy should copy only to buflen-1 not buflen References: Coverity 99117, 99108, 99107
This commit is contained in:
parent
f6d6d305e7
commit
ad13b4badb
1
.gitignore
vendored
1
.gitignore
vendored
@ -20,6 +20,7 @@ config.rpath
|
|||||||
config.status
|
config.status
|
||||||
config.sub
|
config.sub
|
||||||
configure
|
configure
|
||||||
|
cov-int
|
||||||
depcomp
|
depcomp
|
||||||
free
|
free
|
||||||
INSTALL
|
INSTALL
|
||||||
|
12
pgrep.c
12
pgrep.c
@ -264,7 +264,7 @@ static struct el *read_pidfile(void)
|
|||||||
if (n<1)
|
if (n<1)
|
||||||
goto out;
|
goto out;
|
||||||
pid = strtoul(buf+1,&endp,10);
|
pid = strtoul(buf+1,&endp,10);
|
||||||
if(endp<=buf+1 || pid<1 || pid>0x7fffffff)
|
if(endp<=buf+1 || pid<1 )
|
||||||
goto out;
|
goto out;
|
||||||
if(*endp && !isspace(*endp))
|
if(*endp && !isspace(*endp))
|
||||||
goto out;
|
goto out;
|
||||||
@ -359,7 +359,7 @@ static int conv_ns (const char *restrict name, struct el *restrict e)
|
|||||||
|
|
||||||
ns_flags = 0;
|
ns_flags = 0;
|
||||||
id = procps_ns_get_id(name);
|
id = procps_ns_get_id(name);
|
||||||
if (id == -1)
|
if (id < 0)
|
||||||
return 0;
|
return 0;
|
||||||
ns_flags |= (1 << id);
|
ns_flags |= (1 << id);
|
||||||
|
|
||||||
@ -545,16 +545,16 @@ static struct el * select_procs (int *num)
|
|||||||
|
|
||||||
if (opt_long || opt_longlong || (match && opt_pattern)) {
|
if (opt_long || opt_longlong || (match && opt_pattern)) {
|
||||||
if (opt_longlong)
|
if (opt_longlong)
|
||||||
strncpy (cmdoutput, task_cmdline, CMDSTRSIZE);
|
strncpy (cmdoutput, task_cmdline, CMDSTRSIZE-1);
|
||||||
else
|
else
|
||||||
strncpy (cmdoutput, PIDS_GETSTR(CMD), CMDSTRSIZE);
|
strncpy (cmdoutput, PIDS_GETSTR(CMD), CMDSTRSIZE-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (match && opt_pattern) {
|
if (match && opt_pattern) {
|
||||||
if (opt_full)
|
if (opt_full)
|
||||||
strncpy (cmdsearch, task_cmdline, CMDSTRSIZE);
|
strncpy (cmdsearch, task_cmdline, CMDSTRSIZE-1);
|
||||||
else
|
else
|
||||||
strncpy (cmdsearch, PIDS_GETSTR(CMD), CMDSTRSIZE);
|
strncpy (cmdsearch, PIDS_GETSTR(CMD), CMDSTRSIZE-1);
|
||||||
|
|
||||||
if (regexec (preg, cmdsearch, 0, NULL, 0) != 0)
|
if (regexec (preg, cmdsearch, 0, NULL, 0) != 0)
|
||||||
match = 0;
|
match = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user