пн, 5 авг. 2024 г. в 20:09, William Lallemand <wlallem...@irq6.net>:

> On Mon, Aug 05, 2024 at 08:01:39PM +0200, Илья Шипицин wrote:
> > Subject: Re: [PATCH] src/fcgi-app.c: handle strdup failure
> > пн, 5 авг. 2024 г. в 19:56, William Lallemand <wlallem...@irq6.net>:
> >
> > > On Mon, Aug 05, 2024 at 07:17:48PM +0200, Ilia Shipitsin wrote:
> > > > Subject: [PATCH] src/fcgi-app.c: handle strdup failure
> > > > found by coccinelle
> > >
> > > Please add clearer commit messages in your patches, you tend to
> minimize
> > > them, thanks ! :-)
> > >
> >
> > truth to be told, I tend to write longer messages than usually :)
> >
> >
> > >
> > > > ---
> > > >  src/fcgi-app.c | 5 ++++-
> > > >  1 file changed, 4 insertions(+), 1 deletion(-)
> > > >
> > > > diff --git a/src/fcgi-app.c b/src/fcgi-app.c
> > > > index b3a9b7c59..d96bb222c 100644
> > > > --- a/src/fcgi-app.c
> > > > +++ b/src/fcgi-app.c
> > > > @@ -606,6 +606,8 @@ static int proxy_parse_use_fcgi_app(char **args,
> int
> > > section, struct proxy *curp
> > > >       if (!fcgi_conf)
> > > >               goto err;
> > > >       fcgi_conf->name = strdup(args[1]);
> > > > +     if (!fcgi_conf->name)
> > > > +             goto err;
> > > >       LIST_INIT(&fcgi_conf->param_rules);
> > > >       LIST_INIT(&fcgi_conf->hdr_rules);
> > > >
> > > > @@ -622,7 +624,8 @@ static int proxy_parse_use_fcgi_app(char **args,
> int
> > > section, struct proxy *curp
> > > >       return retval;
> > > >    err:
> > > >       if (fcgi_conf) {
> > > > -             free(fcgi_conf->name);
> > > > +             if (fcgi_conf->name)
> > > > +                     free(fcgi_conf->name);
> > >
> > > You don't need to add a check there, free(NULL) does nothing.
> > >
> >
> > I tried to figure out whether that behaviour is by chance or by purpose
> > (taking into account variety of implementations on different OSes)
> >
> > I'll try again
> >
>
> This is a standard behavior that is specified in POSIX, honestly HAProxy
> won't probably run if it wasn't behaving this
> way on some weird OS.
>
> https://pubs.opengroup.org/onlinepubs/009695399/functions/free.html "If
> ptr is a null pointer, no action shall occur."
>

"man 3 free" didn't give me any link to POSIX.
I've should have a look at POSIX directly, but I didn't


>
> --
> William Lallemand
>

Reply via email to