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."

-- 
William Lallemand


Reply via email to