[PATCH 0/9] corrupt object potpourri
- From
Jeff King <peff@peff.net>
- Date
- Mar 25, 2013, 20:14 UTC
- Message-ID
- <20130325201427.GA15798@sigill.intra.peff.net>
- In-Reply-To
- <20130324183133.GA11200@sigill.intra.peff.net>
I started these patches with the intent of improving clone's behavior on corrupt objects, but my testing uncovered some other nastiness, including two infinite loops in the streaming code!. Yikes.
I think 1-7 are good. We might want to tweak the die() behavior of patch 8, but I think it should come on top. Patch 9 has some pretty ugly performance implications.
At the end of the series, all of the introduced tests pass except for one, which is that "git clone" may silently write out a bogus working tree entry. I haven't tracked that one down yet.
[1/9]: stream_blob_to_fd: detect errors reading from stream [2/9]: check_sha1_signature: check return value from read_istream [3/9]: read_istream_filtered: propagate read error from upstream [4/9]: avoid infinite loop in read_istream_loose [5/9]: add test for streaming corrupt blobs [6/9]: streaming_write_entry: propagate streaming errors [7/9]: add tests for cloning corrupted repositories [8/9]: clone: die on errors from unpack_trees [9/9]: clone: run check_everything_connected
-Peff