Signed-off-by: Jaroslav Kysela <jkysela@redhat.com>
{
const char *s;
snd_config_t *vars = private_data;
- snd_config_get_string(src, &s);
+ err = snd_config_get_string(src, &s);
+ if (err < 0)
+ return err;
if (s && *s == '$') {
err = snd_config_evaluate_string(dst, s, fcn, vars);
if (err < 0)
continue;
}
if (strcmp(id, "path") == 0) {
- snd_config_get_string(n, &path);
+ err = snd_config_get_string(n, &path);
+ if (err < 0)
+ return err;
continue;
}
if (strcmp(id, "channels") == 0) {
continue;
if (strcmp(id, "name") != 0)
continue;
- snd_config_get_string(n, &type);
+ err = snd_config_get_string(n, &type);
+ if (err < 0) {
+ snd_pcm_free(pcm);
+ free(rate);
+ return err;
+ }
break;
}
if (!type) {
snd_error(UCM, "string type is expected for sequence command");
return -EINVAL;
}
- snd_config_get_string(n, &cmd);
+ err = snd_config_get_string(n, &cmd);
+ if (err < 0)
+ return err;
continue;
}