Thanks, I pushed this all over.

On Tue, Jun 12, 2012 at 04:53:57PM -0700, Ethan Jackson wrote:
> Looks good, thanks.
> 
> Ethan
> 
> On Tue, Jun 12, 2012 at 4:45 PM, Ben Pfaff <b...@nicira.com> wrote:
> > Found by valgrind.
> >
> > Signed-off-by: Ben Pfaff <b...@nicira.com>
> > ---
> >  lib/vlog.c |    9 ++++++++-
> >  1 files changed, 8 insertions(+), 1 deletions(-)
> >
> > diff --git a/lib/vlog.c b/lib/vlog.c
> > index a7d9e48..899072e 100644
> > --- a/lib/vlog.c
> > +++ b/lib/vlog.c
> > @@ -477,6 +477,7 @@ vlog_unixctl_reopen(struct unixctl_conn *conn, int argc 
> > OVS_UNUSED,
> >  void
> >  vlog_init(void)
> >  {
> > +    static char *program_name_copy;
> >     time_t now;
> >
> >     if (vlog_inited) {
> > @@ -484,7 +485,13 @@ vlog_init(void)
> >     }
> >     vlog_inited = true;
> >
> > -    openlog(program_name, LOG_NDELAY, LOG_DAEMON);
> > +    /* openlog() is allowed to keep the pointer passed in, without making a
> > +     * copy.  The daemonize code sometimes frees and replaces 
> > 'program_name',
> > +     * so make a private copy just for openlog().  (We keep a pointer to 
> > the
> > +     * private copy to suppress memory leak warnings in case openlog() does
> > +     * make its own copy.) */
> > +    program_name_copy = program_name ? xstrdup(program_name) : NULL;
> > +    openlog(program_name_copy, LOG_NDELAY, LOG_DAEMON);
> >
> >     now = time_wall();
> >     if (now < 0) {
> > --
> > 1.7.2.5
> >
> > _______________________________________________
> > dev mailing list
> > dev@openvswitch.org
> > http://openvswitch.org/mailman/listinfo/dev
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to