Jeff King <peff@xxxxxxxx> writes: > On Wed, Oct 31, 2018 at 01:03:39AM -0400, Jeff King wrote: > >> Phew. I almost just deleted all of the above, because now I think I'm >> ready to write that comment you asked for. ;) But I left it since maybe >> it makes sense to follow my thought process. > > So here it is in a more succinct form. Thanks. > + > + /* > + * Unlike the loose object case, we do not have to worry here > + * about running out of input bytes and spinning infinitely. If > + * we get Z_BUF_ERROR due to too few input bytes, then we'll > + * replenish them in the next use_pack() call when we loop. If > + * we truly hit the end of the pack (i.e., because it's corrupt > + * or truncated), then use_pack() catches that and will die(). > + */ > if (status != Z_OK && status != Z_BUF_ERROR) { > git_inflate_end(&st->z); > st->z_state = z_error; Reads well. Will apply.