From: Sudarshan sudarshan.bisht@nokia.com
--- src/control/setup.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/src/control/setup.c b/src/control/setup.c index eecda45..3606e5c 100644 --- a/src/control/setup.c +++ b/src/control/setup.c @@ -398,7 +398,7 @@ static int snd_config_get_ctl_elem_value(snd_config_t *conf,
static int add_elem(snd_sctl_t *h, snd_config_t *_conf, snd_config_t *private_data) { - snd_config_t *conf; + snd_config_t *conf = NULL ; snd_config_iterator_t i, next; char *tmp; int iface = SND_CTL_ELEM_IFACE_MIXER; @@ -412,6 +412,9 @@ static int add_elem(snd_sctl_t *h, snd_config_t *_conf, snd_config_t *private_da snd_config_t *value = NULL, *mask = NULL; snd_sctl_elem_t *elem = NULL; int err; + /* The last parameter of snd_config_expand() is an output parameter, and + * it is guaranteed that this parameter is set when the function succeeds. + */ err = snd_config_expand(_conf, _conf, NULL, private_data, &conf); if (err < 0) return err;