summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/confmisc.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/confmisc.c b/src/confmisc.c
index 3f12e340..7763511b 100644
--- a/src/confmisc.c
+++ b/src/confmisc.c
@@ -862,7 +862,7 @@ int snd_func_card_id(snd_config_t **dst, snd_config_t *root, snd_config_t *src,
snd_config_t *private_data)
{
snd_ctl_t *ctl = NULL;
- snd_ctl_card_info_t *info;
+ snd_ctl_card_info_t info = {0};
const char *id;
int card, err;
@@ -874,8 +874,7 @@ int snd_func_card_id(snd_config_t **dst, snd_config_t *root, snd_config_t *src,
SNDERR("could not open control for card %i", card);
goto __error;
}
- snd_ctl_card_info_alloca(&info);
- err = snd_ctl_card_info(ctl, info);
+ err = snd_ctl_card_info(ctl, &info);
if (err < 0) {
SNDERR("snd_ctl_card_info error: %s", snd_strerror(err));
goto __error;
@@ -883,7 +882,7 @@ int snd_func_card_id(snd_config_t **dst, snd_config_t *root, snd_config_t *src,
err = snd_config_get_id(src, &id);
if (err >= 0)
err = snd_config_imake_string(dst, id,
- snd_ctl_card_info_get_id(info));
+ snd_ctl_card_info_get_id(&info));
__error:
if (ctl)
snd_ctl_close(ctl);