В Fri, 13 Jun 2014 18:48:19 +0200 Andreas Henriksson <andr...@fatal.se> пишет:
> static int killall(....) in ./src/core/killall.c tries to get "s" > initialized by calling get_process_comm(...) which calls > read_one_line_file(...) which if it fails will mean it is left > uninitialized. > It is then used in argument to strna(s) call where it is > dereferenced(!), in addition to nothing else initializing it before > the scope it is in finishes. > > Signed-off-by: Andreas Henriksson <andr...@fatal.se> > --- > src/core/killall.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/core/killall.c b/src/core/killall.c > index 57ed41c..eab48f7 100644 > --- a/src/core/killall.c > +++ b/src/core/killall.c > @@ -168,7 +168,7 @@ static int killall(int sig, Set *pids, bool send_sighup) { > continue; > > if (sig == SIGKILL) { > - _cleanup_free_ char *s; > + _cleanup_free_ char *s = NULL; > > get_process_comm(pid, &s); Do you mean this may fail to assign value to s? Then it needs more fixes. > log_notice("Sending SIGKILL to PID "PID_FMT" (%s).", > pid, strna(s)); _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel