On Sat, 2014-03-08 at 05:02PM +1000, Allan McRae wrote:
> On 07/03/14 16:24, Sören Brinkmann wrote:
> > Check the return value of malloc() before dereferencing the returned 
> > pointer.
> > 
> > Signed-off-by: Sören Brinkmann <[email protected]>
> > ---
> >  src/pacman/upgrade.c | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/src/pacman/upgrade.c b/src/pacman/upgrade.c
> > index 5416f6180b39..19aa17218ce4 100644
> > --- a/src/pacman/upgrade.c
> > +++ b/src/pacman/upgrade.c
> > @@ -51,6 +51,9 @@ int pacman_upgrade(alpm_list_t *targets)
> >      */
> >     for(i = targets; i; i = alpm_list_next(i)) {
> >             int *r = malloc(sizeof(int));
> > +           if(r == NULL) {
> > +                   return 1;
> > +           }
> >  
> >             if(strstr(i->data, "://")) {
> >                     char *str = alpm_fetch_pkgurl(config->handle, i->data);
> > 
> 
> Fine. Although if malloc of an int fails, I'm not sure we can do a lot!

Right, but bailing out gracefully is probably better than a segfault? I
do not really mind. If you don't want it, don't apply it. But not
checking the return value of malloc() is simply wrong, IMHO.

        Sören

Reply via email to