mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-10-29 05:40:25 -04:00
namehint: Fix bad free with invalid iface name
Due to the uninitialized field before the error path, passing an invalid iface argument may result in a bad free() call. Initialize the fields properly beforehand. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
c8667e3db4
commit
46d98392d0
1 changed files with 2 additions and 2 deletions
|
|
@ -562,6 +562,8 @@ int snd_device_name_hint(int card, const char *iface, void ***hints)
|
|||
list.list = NULL;
|
||||
list.count = list.allocated = 0;
|
||||
list.siface = iface;
|
||||
list.show_all = 0;
|
||||
list.cardname = NULL;
|
||||
if (strcmp(iface, "card") == 0)
|
||||
list.iface = SND_CTL_ELEM_IFACE_CARD;
|
||||
else if (strcmp(iface, "pcm") == 0)
|
||||
|
|
@ -581,8 +583,6 @@ int snd_device_name_hint(int card, const char *iface, void ***hints)
|
|||
goto __error;
|
||||
}
|
||||
|
||||
list.show_all = 0;
|
||||
list.cardname = NULL;
|
||||
if (snd_config_search(local_config, "defaults.namehint.showall", &conf) >= 0)
|
||||
list.show_all = snd_config_get_bool(conf) > 0;
|
||||
if (card >= 0) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue