diff options
author | Junio C Hamano <gitster@pobox.com> | 2012-06-01 13:01:33 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-06-01 13:01:33 -0700 |
commit | 6c227410b5e1bb014896514f90be55503c4a26c9 (patch) | |
tree | 94764329b01846d59062ca0967961c6d93ab6b95 /pretty.c | |
parent | 92ddfaadc226d4b04681523a3a5649b65b06ca5f (diff) | |
parent | a9c7a8a8bef30bbbf87e0d4c0e64d50c676f70ed (diff) | |
download | git-6c227410b5e1bb014896514f90be55503c4a26c9.tar.gz git-6c227410b5e1bb014896514f90be55503c4a26c9.tar.xz |
Merge branch 'jk/pretty-commit-header-incomplete-line' into maint
By Jeff King
* jk/pretty-commit-header-incomplete-line:
avoid segfault when reading header of malformed commits
Diffstat (limited to 'pretty.c')
-rw-r--r-- | pretty.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -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) |