[PATCH v2 4/7] IOMUX: Preserve console list if realloc() fails

Simon Glass sjg at chromium.org
Mon Dec 21 17:47:03 CET 2020


Hi Andy,

On Mon, 21 Dec 2020 at 05:00, Andy Shevchenko
<andriy.shevchenko at linux.intel.com> wrote:
>
> On Fri, Dec 18, 2020 at 07:29:19PM -0700, Simon Glass wrote:
> > On Wed, 16 Dec 2020 at 16:16, Andy Shevchenko
> > <andriy.shevchenko at linux.intel.com> wrote:
> > >
> > > It's realloc() 101 to avoid `foo = realloc(foo, ...);` call
> > > due to getting a memory leak.
> >
> > Hmm I don't think I knew that...
>
> When you use the same variable for the source and destination in case of NULL
> the source gone.
>
> It's okay to have
>
>         foo = bar;
>         bar = realloc(bar, ...);
>         if (bar == NULL)
>         ...do something with foo if needed...

Here is man malloc on this point:

If ptr is NULL, then  the  call  is  equivalent  to  mal‐
       loc(size), for all values of size; if size is equal to zero, and ptr is
       not NULL, then the call is equivalent  to  free(ptr).

>
> But it seems it's not the case here.
>
> > Reviewed-by: Simon Glass <sjg at chromium.org>
>
> Thanks!

Regards,
Simon


More information about the U-Boot mailing list