From: "Ryan O'Hara" <rohara@redhat.com>
To: Julian Anastasov <ja@ssi.bg>
Cc: lvs-devel@vger.kernel.org
Subject: Re: [PATCH] libipvs: Initialize ipvs_service_t variable
Date: Fri, 17 Jan 2014 15:15:17 -0600 [thread overview]
Message-ID: <20140117211517.GB7772@redhat.com> (raw)
In-Reply-To: <alpine.LFD.2.11.1401172253420.2244@ja.home.ssi.bg>
On Fri, Jan 17, 2014 at 11:03:43PM +0200, Julian Anastasov wrote:
>
> Hello,
>
> On Fri, 17 Jan 2014, Ryan O'Hara wrote:
>
> > The ipvs_get_service function declares an ipvs_service_t type variable
> > and initializes some of the values, but should really start by
> > initializing the entire structure.
> >
> > Signed-off-by: Ryan O'Hara <rohara@redhat.com>
> > ---
> > libipvs/libipvs.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/libipvs/libipvs.c b/libipvs/libipvs.c
> > index d2fec49..8baafed 100644
> > --- a/libipvs/libipvs.c
> > +++ b/libipvs/libipvs.c
> > @@ -942,6 +942,7 @@ ipvs_get_service(__u32 fwmark, __u16 af, __u16 protocol, union nf_inet_addr addr
> > if (!svc)
> > return NULL;
> >
> > + memset(&tsvc, 0, sizeof(tsvc));
> > tsvc.fwmark = fwmark;
> > tsvc.af = af;
> > tsvc.protocol= protocol;
> > --
> > 1.8.1.4
>
> Yes, it is a good idea. Another variant is to
> change malloc to calloc. May be ipvs_nl_fill_service_attr()
> can not crash in all cases when reading svc->pe_name[].
> As for the kernel part, ip_vs_genl_parse_service() uses just
> the initialized fields when full_entry=0 for IPVS_CMD_GET_SERVICE
> but it is better to avoid problems in the future.
Right. This 'bug' was found while running the code through a static
analyzer, which finds all sorts of nit-picks. Since the variable in
question here is on the stack, a simple memset seems sufficient. Sorry
for trivial patches, just trying to get rid of the complaints from the
analyzer.
Ryan
> Regards
>
> --
> Julian Anastasov <ja@ssi.bg>
next prev parent reply other threads:[~2014-01-17 21:15 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-17 17:53 [PATCH] libipvs: Initialize ipvs_service_t variable Ryan O'Hara
2014-01-17 21:03 ` Julian Anastasov
2014-01-17 21:15 ` Ryan O'Hara [this message]
2014-03-06 10:05 ` Jesper Dangaard Brouer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140117211517.GB7772@redhat.com \
--to=rohara@redhat.com \
--cc=ja@ssi.bg \
--cc=lvs-devel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.