]> git.alsa-project.org Git - alsa-lib.git/commitdiff
ucm: fix use after free in if_eval_regex_match()
authorJaroslav Kysela <perex@perex.cz>
Wed, 2 Jun 2021 17:52:12 +0000 (19:52 +0200)
committerJaroslav Kysela <perex@perex.cz>
Wed, 2 Jun 2021 17:52:12 +0000 (19:52 +0200)
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
src/ucm/ucm_cond.c

index 59d1a155b5d554bb55ef5e5296427fb04dcf9f61..adb0ecd9481c8dda124d8bf6b92261240ecc82a6 100644 (file)
@@ -160,11 +160,12 @@ static int if_eval_regex_match(snd_use_case_mgr_t *uc_mgr, snd_config_t *eval)
        if (err < 0)
                return err;
        err = regcomp(&re, s, options);
-       free(s);
        if (err) {
                uc_error("Regex '%s' compilation failed (code %d)", s, err);
+               free(s);
                return -EINVAL;
        }
+       free(s);
 
        err = uc_mgr_get_substituted_value(uc_mgr, &s, string);
        if (err < 0) {