Re: [alsa-devel] [PATCH v2] ASoC: Intel: Skylake: prevent memory leak in snd_skl_parse_uuids

From: Pierre-Louis Bossart
Date: Fri Sep 27 2019 - 18:25:43 EST


On 9/27/19 3:39 PM, Andy Shevchenko wrote:
On Fri, Sep 27, 2019 at 7:39 PM Pierre-Louis Bossart
<pierre-louis.bossart@xxxxxxxxxxxxxxx> wrote:
The problem with solution #1 is freeing orphaned pointer. It will work,
but it's simple is not okay from object life time prospective.

?? I don't get your point at all Andy.
Two allocations happens in a loop and if the second fails, you free the
first and then jump to free everything allocated in the previous
iterations. what am I missing?

Two things:
- one allocation is done with kzalloc(), while the other one with
devm_kcalloc()
- due to above the ordering of resources is reversed

Ah yes, I see your point now, sorry for being thick.
Indeed it'd make sense to use devm_ for both allocations, but then the kfree needs to be removed in the error handling.