From 7288d8b65c5f584f14eff045ab2f70a97a666898 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= Date: Tue, 31 May 2011 15:11:49 +0200 Subject: [PATCH] Parse section header ext: don't leak on error MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also free the subsection if we find too many quotes Signed-off-by: Carlos Martín Nieto --- src/config_file.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/config_file.c b/src/config_file.c index 37e3f1f15..4b7ce069e 100644 --- a/src/config_file.c +++ b/src/config_file.c @@ -597,8 +597,10 @@ static int parse_section_header_ext(const char *line, const char *base_name, cha do { switch (c) { case '"': - if (quote_marks++ >= 2) - return git__throw(GIT_EOBJCORRUPTED, "Failed to parse ext header. Too many quotes"); + if (quote_marks++ >= 2) { + error = git__throw(GIT_EOBJCORRUPTED, "Failed to parse ext header. Too many quotes"); + goto out; + } break; case '\\': c = line[rpos++];