Jonathan del Strother schrieb: > On Dec 19, 2007 11:23 PM, René Scharfe <rene.scharfe@xxxxxxxxxxxxxx> wrote: >> Just a shot in the dark: does this patch on top of master make a difference? > No luck with that, I'm afraid. And how is this one? The first chunk is the same as in the last try -- it guards against commit messages ending with a NUL without a prior \n _and_ being followed by a \n (in memory which shouldn't be accessed by us at all as it doesn't belong to the commit message). I guess that's quite rare. The second chunk keeps the body offset from being incremented by the for loop if we've already found a terminating NUL. diff --git a/pretty.c b/pretty.c index 9db75b4..5b1078b 100644 --- a/pretty.c +++ b/pretty.c @@ -412,7 +412,7 @@ static void parse_commit_header(struct format_commit_context *context) if (i == eol) { state++; /* strip empty lines */ - while (msg[eol + 1] == '\n') + while (msg[eol] == '\n' && msg[eol + 1] == '\n') eol++; } else if (!prefixcmp(msg + i, "author ")) { context->author.off = i + 7; @@ -425,6 +425,8 @@ static void parse_commit_header(struct format_commit_context *context) context->encoding.len = eol - i - 9; } i = eol; + if (!msg[i]) + break; } context->body_off = i; context->commit_header_parsed = 1; - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html