From 3cadd6f793f6c59fa3ad0d6e1a209d6b6b06b6da Mon Sep 17 00:00:00 2001 From: Julien Kauffmann Date: Wed, 8 Feb 2012 10:11:00 +0100 Subject: Fixed a case were values containing \\" were not properly escaped --- git/config.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'git/config.py') diff --git a/git/config.py b/git/config.py index 64031fdb..620f7b10 100644 --- a/git/config.py +++ b/git/config.py @@ -254,9 +254,14 @@ class GitConfigParser(cp.RawConfigParser, object): if not escaped and c == '"': in_quote = not in_quote else: - escaped = (c == '\\') + escaped = (c == '\\') and not escaped unquoted_optval += c + if in_quote: + if not e: + e = cp.ParsingError(fpname) + e.append(lineno, repr(line)) + optval = unquoted_optval optval = optval.replace('\\\\', '\\') # Unescape backslashes -- cgit v1.2.1