
Hi Andy,
On Mon, 21 Dec 2020 at 05:00, Andy Shevchenko andriy.shevchenko@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@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@chromium.org
Thanks!
Regards, Simon