Thanks for the review, I applied this to master.

On Thu, Apr 16, 2015 at 12:52:05PM -0400, Dennis Flynn wrote:
> Thanks for finding and fixing this.
> 
> Acked-by: Dennis Flynn <[email protected]>
> 
> 
> On Thu, Apr 16, 2015 at 11:52 AM, Ben Pfaff <[email protected]> wrote:
> 
> > In some cases 'id' could point to the static string "<None>", which was
> > then passed to free() even though it must not be.  This commit fixes the
> > problem.
> >
> > Found by LLVM scan-build.
> >
> > Reported-by: Kevin Lo <[email protected]>
> > Signed-off-by: Ben Pfaff <[email protected]>
> > ---
> >  lib/ovs-lldp.c | 14 ++++++++------
> >  1 file changed, 8 insertions(+), 6 deletions(-)
> >
> > diff --git a/lib/ovs-lldp.c b/lib/ovs-lldp.c
> > index 3edaf42..9ee639e 100644
> > --- a/lib/ovs-lldp.c
> > +++ b/lib/ovs-lldp.c
> > @@ -202,8 +202,10 @@ aa_print_element_status_port(struct ds *ds, struct
> > lldpd_hardware *hw)
> >          if (memcmp(&port->p_element.system_id,
> >                     &system_id_null,
> >                     sizeof port->p_element.system_id)) {
> > -            static char *none_str = "<None>";
> > -            char *id = none_str, *descr = none_str, *system = none_str;
> > +            const char *none_str = "<None>";
> > +            const char *descr = NULL;
> > +            char *id = NULL;
> > +            char *system;
> >
> >              if (port->p_chassis) {
> >                  if (port->p_chassis->c_id_len > 0) {
> > @@ -211,16 +213,16 @@ aa_print_element_status_port(struct ds *ds, struct
> > lldpd_hardware *hw)
> >                                          port->p_chassis->c_id_len, &id);
> >                  }
> >
> > -                descr = port->p_chassis->c_descr
> > -                    ? port->p_chassis->c_descr : none_str;
> > +                descr = port->p_chassis->c_descr;
> >              }
> >
> >              chassisid_to_string((uint8_t *) &port->p_element.system_id,
> >                  sizeof port->p_element.system_id, &system);
> >
> > -            ds_put_format(ds, "\tAuto Attach Primary Server Id: %s\n",
> > id);
> > +            ds_put_format(ds, "\tAuto Attach Primary Server Id: %s\n",
> > +                          id ? id : none_str);
> >              ds_put_format(ds, "\tAuto Attach Primary Server Descr: %s\n",
> > -                          descr);
> > +                          descr ? descr : none_str);
> >              ds_put_format(ds, "\tAuto Attach Primary Server System Id:
> > %s\n",
> >                            system);
> >
> > --
> > 2.1.3
> >
> > _______________________________________________
> > dev mailing list
> > [email protected]
> > http://openvswitch.org/mailman/listinfo/dev
> >
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev

Reply via email to