Commit 5892277c by Carlos Martín Nieto

Config parse header ext: don't allow text after closing quote

Nothing is allowed betwen the closing quotation mark and the ] so
return an error if there is.

Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
parent 7288d8b6
......@@ -595,12 +595,15 @@ static int parse_section_header_ext(const char *line, const char *base_name, cha
* added to the string. In case of error, jump to out
*/
do {
if (quote_marks == 2) {
error = git__throw(GIT_EOBJCORRUPTED, "Falied to parse ext header. Text after closing quote");
goto out;
}
switch (c) {
case '"':
if (quote_marks++ >= 2) {
error = git__throw(GIT_EOBJCORRUPTED, "Failed to parse ext header. Too many quotes");
goto out;
}
++quote_marks;
break;
case '\\':
c = line[rpos++];
......@@ -612,6 +615,7 @@ static int parse_section_header_ext(const char *line, const char *base_name, cha
error = git__throw(GIT_EOBJCORRUPTED, "Failed to parse ext header. Unsupported escape char \\%c", c);
goto out;
}
break;
default:
break;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment