From 3d2f333c6cf252c6efb36ea53db07199b41b58b1 Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Fri, 8 Jun 2001 12:17:14 +0000 Subject: [PATCH] Fixed seg. fault when invalid /etc/asound.conf is found. --- src/conf.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/conf.c b/src/conf.c index b06ad588..8b27143d 100644 --- a/src/conf.c +++ b/src/conf.c @@ -885,13 +885,11 @@ int snd_config_load(snd_config_t *config, snd_input_t *in) SNDERR("%s:%d:%d:%s", fd->name ? fd->name : "", fd->line, fd->column, str); } - snd_config_delete(config); goto _end; } if (get_char(&input) != EOF) { SNDERR("%s:%d:%d:Unexpected }", fd->name ? fd->name : "", fd->line, fd->column); - snd_config_delete(config); err = -EINVAL; goto _end; } @@ -1898,8 +1896,10 @@ static int parse_args(snd_config_t *subs, const char *str, snd_config_t *defs) return err; err = snd_config_load(subs, input); snd_input_close(input); - if (err < 0) + if (err < 0) { + snd_config_delete(subs); return err; + } snd_config_for_each(i, next, subs) { snd_config_t *n = snd_config_iterator_entry(i); snd_config_t *d; -- 2.47.1