mirror of
https://git.proxmox.com/git/libgit2
synced 2025-08-05 07:29:21 +00:00
commit: don't include the LF in the header field value
When the encoding header changed to be treated as an additional header, the EOL pointer started to point to the byte after the LF, making the git__strndup call copy the LF into the value. Increase the EOL pointer value after copying the data to keep the rest of the semantics but avoid copying LF.
This commit is contained in:
parent
7a2cf780d1
commit
d47c6aabfe
@ -174,8 +174,6 @@ int git_commit__parse_buffer(git_commit *commit, const void *data, size_t len)
|
||||
const char *eoln = buffer;
|
||||
while (eoln < buffer_end && *eoln != '\n')
|
||||
++eoln;
|
||||
if (eoln < buffer_end && *eoln == '\n')
|
||||
++eoln;
|
||||
|
||||
if (git__prefixcmp(buffer, "encoding ") == 0) {
|
||||
buffer += strlen("encoding ");
|
||||
@ -184,6 +182,9 @@ int git_commit__parse_buffer(git_commit *commit, const void *data, size_t len)
|
||||
GITERR_CHECK_ALLOC(commit->message_encoding);
|
||||
}
|
||||
|
||||
if (eoln < buffer_end && *eoln == '\n')
|
||||
++eoln;
|
||||
|
||||
buffer = eoln;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user