Browse Source

Merge branch 'jk/sha1-loose-object-info-fix' into maint

Leakfix and futureproofing.

* jk/sha1-loose-object-info-fix:
  sha1_loose_object_info: handle errors from unpack_sha1_rest
maint
Junio C Hamano 7 years ago
parent
commit
eeed979e6a
  1. 8
      sha1_file.c

8
sha1_file.c

@ -2952,10 +2952,14 @@ static int sha1_loose_object_info(const unsigned char *sha1,
} else if ((status = parse_sha1_header_extended(hdr, oi, flags)) < 0) } else if ((status = parse_sha1_header_extended(hdr, oi, flags)) < 0)
status = error("unable to parse %s header", sha1_to_hex(sha1)); status = error("unable to parse %s header", sha1_to_hex(sha1));


if (status >= 0 && oi->contentp) if (status >= 0 && oi->contentp) {
*oi->contentp = unpack_sha1_rest(&stream, hdr, *oi->contentp = unpack_sha1_rest(&stream, hdr,
*oi->sizep, sha1); *oi->sizep, sha1);
else if (!*oi->contentp) {
git_inflate_end(&stream);
status = -1;
}
} else
git_inflate_end(&stream); git_inflate_end(&stream);


munmap(map, mapsize); munmap(map, mapsize);

Loading…
Cancel
Save