Fix for Coverity CID#2: false bug, but still a problem.
Analysis: internal_errorf(int, fmt, ...) was only a __dead function if the int argument was non-0, which the Prevent probably was unable to follow. Change all uses of internal_errorf(0, fmt, ...) to internal_warningf(fmt, ...); change the pro- totype of internal_errorf() to internal_errorf(fmt, ...) and all remaining uses remove the non-0 int argument; add __dead to internal_errorf() proto; flesh out guts of internal_errorf() and internal_warningf() into a new local function for optimisation purposes. Some whitespace cleanup and dead code removal (return after internal_errorf(1))
This commit is contained in:
6
funcs.c
6
funcs.c
@ -5,7 +5,7 @@
|
||||
|
||||
#include "sh.h"
|
||||
|
||||
__RCSID("$MirOS: src/bin/mksh/funcs.c,v 1.49 2007/03/10 18:16:26 tg Exp $");
|
||||
__RCSID("$MirOS: src/bin/mksh/funcs.c,v 1.50 2007/05/13 17:51:21 tg Exp $");
|
||||
|
||||
int
|
||||
c_cd(const char **wp)
|
||||
@ -1245,7 +1245,7 @@ c_getopts(const char **wp)
|
||||
}
|
||||
|
||||
if (e->loc->next == NULL) {
|
||||
internal_errorf(0, "c_getopts: no argv");
|
||||
internal_warningf("c_getopts: no argv");
|
||||
return 1;
|
||||
}
|
||||
/* Which arguments are we parsing... */
|
||||
@ -2952,7 +2952,7 @@ c_ulimit(const char **wp)
|
||||
for (l = limits; l->name && l->option != what; l++)
|
||||
;
|
||||
if (!l->name) {
|
||||
internal_errorf(0, "ulimit: %c", what);
|
||||
internal_warningf("ulimit: %c", what);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user