From ef82ff30f6dd643ca6aac13deac4b11b519128aa Mon Sep 17 00:00:00 2001 From: "Scott J. Goldman" Date: Sat, 5 Jan 2013 00:46:39 -0800 Subject: [PATCH] Handle packed refs with no trailing newline I saw a repo in the wild today which had a master branch ref which was packed, but had no trailing newline. Git handled it fine, but libgit2 choked on it. Fix seems simple enough. If we don't see a newline, assume the end of the buffer is the end of the ref line. --- src/refs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/refs.c b/src/refs.c index c77e9a56c..70f12b503 100644 --- a/src/refs.c +++ b/src/refs.c @@ -373,7 +373,7 @@ static int packed_parse_oid( refname_end = memchr(refname_begin, '\n', buffer_end - refname_begin); if (refname_end == NULL) - goto corrupt; + refname_end = buffer_end; if (refname_end[-1] == '\r') refname_end--;