Handle packed peeled objects without trailing newlines

Fixes #1262
This commit is contained in:
Scott J. Goldman 2013-01-21 14:45:43 -08:00
parent d47c6aabfe
commit 28b1cdf3a1

View File

@ -328,7 +328,7 @@ static int packed_parse_peel(
if (git__prefixcmp(tag_ref->name, GIT_REFS_TAGS_DIR) != 0)
goto corrupt;
if (buffer + GIT_OID_HEXSZ >= buffer_end)
if (buffer + GIT_OID_HEXSZ > buffer_end)
goto corrupt;
/* Is this a valid object id? */
@ -339,10 +339,13 @@ static int packed_parse_peel(
if (*buffer == '\r')
buffer++;
if (*buffer != '\n')
if (*buffer == '\n')
buffer++;
if (buffer != buffer_end)
goto corrupt;
*buffer_out = buffer + 1;
*buffer_out = buffer;
return 0;
corrupt: