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 ae0275ff..3f12e340 100644
--- a/src/confmisc.c
+++ b/src/confmisc.c
@@ -664,7 +664,7 @@ SND_DLSYM_BUILD_VERSION(snd_func_private_string, SND_CONFIG_DLSYM_VERSION_EVALUA
int snd_determine_driver(int card, char **driver)
{
snd_ctl_t *ctl = NULL;
- snd_ctl_card_info_t *info;
+ snd_ctl_card_info_t info = {0};
char *res = NULL;
int err;
@@ -674,13 +674,12 @@ int snd_determine_driver(int card, char **driver)
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;
}
- res = strdup(snd_ctl_card_info_get_driver(info));
+ res = strdup(snd_ctl_card_info_get_driver(&info));
if (res == NULL)
err = -ENOMEM;
else {