OSDN Git Service

ucm: fix use-after-free in parse_component_seq()
authorJaroslav Kysela <perex@perex.cz>
Mon, 8 Jun 2020 16:17:16 +0000 (18:17 +0200)
committerJaroslav Kysela <perex@perex.cz>
Mon, 8 Jun 2020 16:17:23 +0000 (18:17 +0200)
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
src/ucm/parser.c

index b8ee243..161a85b 100644 (file)
@@ -617,11 +617,12 @@ static int parse_component_seq(snd_use_case_mgr_t *uc_mgr,
                return err;
 
        cmpt_seq->device = find_component_dev(uc_mgr, val);
-       free(val);
        if (!cmpt_seq->device) {
                uc_error("error: Cannot find component device %s", val);
+               free(val);
                return -EINVAL;
        }
+       free(val);
 
        /* Parent needs its enable or disable sequence */
        cmpt_seq->enable = enable;