]> git.alsa-project.org Git - alsa-lib.git/commitdiff
ucm: fix invalid pointer dereference in parse_open_variables() master
authorJaroslav Kysela <perex@perex.cz>
Wed, 4 Feb 2026 17:43:57 +0000 (18:43 +0100)
committerJaroslav Kysela <perex@perex.cz>
Wed, 4 Feb 2026 17:43:59 +0000 (18:43 +0100)
When the string with variables is not parseable, do not
try to free invalid cfg pointer.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
src/ucm/main.c

index 21a39a3469e96725e1d68ae5005e01c1d2360910..26b0ea2043ccd58ba33cbcefeb652eec29be74f4 100644 (file)
@@ -1702,7 +1702,7 @@ const char *parse_open_variables(snd_use_case_mgr_t *uc_mgr, const char *name)
 {
        const char *end, *id;
        char *args, *var;
-       snd_config_t *cfg, *n;
+       snd_config_t *cfg = NULL, *n;
        snd_config_iterator_t i, next;
        char vname[128];
        size_t l;
@@ -1739,7 +1739,8 @@ const char *parse_open_variables(snd_use_case_mgr_t *uc_mgr, const char *name)
        }
 
 skip:
-       snd_config_delete(cfg);
+       if (cfg)
+               snd_config_delete(cfg);
        return end + 3;
 }