зеркало из https://github.com/microsoft/git.git
Merge branch 'jk/pretty-commit-header-incomplete-line'
Fixes error codepath when a malformed commit object has a header line chomped in the middle.
This commit is contained in:
Коммит
407abbabe5
5
pretty.c
5
pretty.c
|
@ -439,12 +439,14 @@ static char *get_header(const struct commit *commit, const char *key)
|
|||
int key_len = strlen(key);
|
||||
const char *line = commit->buffer;
|
||||
|
||||
for (;;) {
|
||||
while (line) {
|
||||
const char *eol = strchr(line, '\n'), *next;
|
||||
|
||||
if (line == eol)
|
||||
return NULL;
|
||||
if (!eol) {
|
||||
warning("malformed commit (header is missing newline): %s",
|
||||
sha1_to_hex(commit->object.sha1));
|
||||
eol = line + strlen(line);
|
||||
next = NULL;
|
||||
} else
|
||||
|
@ -456,6 +458,7 @@ static char *get_header(const struct commit *commit, const char *key)
|
|||
}
|
||||
line = next;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static char *replace_encoding_header(char *buf, const char *encoding)
|
||||
|
|
Загрузка…
Ссылка в новой задаче