From: Jaroslav Kysela Date: Tue, 18 May 2021 09:20:18 +0000 (+0200) Subject: ucm: libconfig parser - fix memory leaks X-Git-Tag: v1.2.5~16 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=b2b3658fb9df910cb79dfc715e3e8767ffee41a5;p=alsa-lib.git ucm: libconfig parser - fix memory leaks Signed-off-by: Jaroslav Kysela --- diff --git a/src/ucm/parser.c b/src/ucm/parser.c index 68b0ee62..c6687a49 100644 --- a/src/ucm/parser.c +++ b/src/ucm/parser.c @@ -457,7 +457,7 @@ static int parse_libconfig1(snd_use_case_mgr_t *uc_mgr, snd_config_t *cfg) return err; err = uc_mgr_substitute_tree(uc_mgr, cfg); if (err < 0) { - snd_config_delete(config); + snd_config_delete(cfg); return err; } err = snd_config_merge(uc_mgr->local_config, cfg, 1); @@ -480,16 +480,12 @@ static int parse_libconfig1(snd_use_case_mgr_t *uc_mgr, snd_config_t *cfg) if (config) { if (substconfig) { err = uc_mgr_substitute_tree(uc_mgr, config); - if (err < 0) { - snd_config_delete(config); + if (err < 0) return err; - } } err = snd_config_merge(uc_mgr->local_config, config, 1); - if (err < 0) { - snd_config_delete(config); + if (err < 0) return err; - } } return 0;