From: Jaroslav Kysela Date: Thu, 7 Jan 2021 16:41:38 +0000 (+0100) Subject: ucm: uc_mgr_substitute_tree() fix use after free X-Git-Tag: android-x86-8.1-r6~151 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=3f63dc26445ae7c215e48a57af83b6da325f166d;p=android-x86%2Fexternal-alsa-lib.git ucm: uc_mgr_substitute_tree() fix use after free Signed-off-by: Jaroslav Kysela --- diff --git a/src/ucm/ucm_subs.c b/src/ucm/ucm_subs.c index f608bb09..df6d736f 100644 --- a/src/ucm/ucm_subs.c +++ b/src/ucm/ucm_subs.c @@ -417,11 +417,12 @@ int uc_mgr_substitute_tree(snd_use_case_mgr_t *uc_mgr, snd_config_t *node) if (err < 0) return err; err = snd_config_set_id(node, s); - free(s); if (err < 0) { uc_error("unable to set substituted id '%s' (old id '%s')", s, id); + free(s); return err; } + free(s); } if (snd_config_get_type(node) != SND_CONFIG_TYPE_COMPOUND) { if (snd_config_get_type(node) == SND_CONFIG_TYPE_STRING) {