diff options
-rw-r--r-- | src/confmisc.c | 7 |
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); |