diff options
author | Takashi Iwai <tiwai@suse.de> | 2022-09-19 15:35:16 +0300 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2022-09-19 15:36:06 +0300 |
commit | c3afa2a402d1ecefa59f88d55d9e765f52f75bd9 (patch) | |
tree | 8d0b048f96395fff57d2c0e830277541e106711a /sound/usb/endpoint.h | |
parent | 496322302bf1e58dc2ff134173527493105f51ab (diff) | |
download | linux-c3afa2a402d1ecefa59f88d55d9e765f52f75bd9.tar.xz |
ALSA: core: Fix double-free at snd_card_new()
During the code change to add the support for devres-managed card
instance, we put an explicit kfree(card) call at the error path in
snd_card_new(). This is needed for the early error path before the
card is initialized with the device, but is rather superfluous and
causes a double-free at the error path after the card instance is
initialized, as the destructor of the card object already contains a
kfree() call.
This patch fixes the double-free situation by removing the superfluous
kfree(). Meanwhile we need to call kfree() explicitly for the early
error path, so it's added there instead.
Fixes: e8ad415b7a55 ("ALSA: core: Add managed card creation")
Reported-by: Rondreis <linhaoguo86@gmail.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/CAB7eexL1zBnB636hwS27d-LdPYZ_R1-5fJS_h=ZbCWYU=UPWJg@mail.gmail.com
Link: https://lore.kernel.org/r/20220919123516.28222-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb/endpoint.h')
0 files changed, 0 insertions, 0 deletions