tree-cache: don't error out on a childless invalidated entry

The code used to assume that there had to be data after the newline in
a tree cache extension entry. This isn't true for a childless
invalidated entry if it's the last one, as there won't be any children
nor a hash to take up space.

Adapt the off-by-one comparison to also work in this case. Fixes #633.
This commit is contained in:
Carlos Martín Nieto 2012-04-20 02:23:14 +02:00 committed by Russell Belfer
parent 7dbbf4d7f2
commit 2218fd57a5

View File

@ -130,7 +130,7 @@ static int read_tree_internal(git_tree_cache **out,
tree->children_count = count;
if (*buffer != '\n' || ++buffer >= buffer_end) {
if (*buffer != '\n' || ++buffer > buffer_end) {
error = GIT_EOBJCORRUPTED;
goto cleanup;
}