BJ Hargrave <bj@xxxxxxxxxxxxxx> writes: > diff --git a/builtin/fsck.c b/builtin/fsck.c > index 5ae0366..ad6d713 100644 > --- a/builtin/fsck.c > +++ b/builtin/fsck.c > @@ -232,9 +232,10 @@ static void check_unreachable_object(struct object *obj) > char *buf = read_sha1_file(obj->sha1, > &type, &size); > if (buf) { > - if (fwrite(buf, size, 1, f) != 1) > - die_errno("Could not write '%s'", > - filename); > + if (size > 0) > + if (fwrite(buf, size, 1, f) != 1) > + die_errno("Could not write '%s'", > + filename); Funny. I am sure we fixed a similar breakage elsewhere a few years ago, by swapping the size and nmemb to the calls (i.e. instead of writing one block of "size" bytes, you could write "size" blocks of 1-byte) and making sure fwrite() reports the number of items. IOW if (buf && fwrite(buf, 1, size, f) != size) die_errno("Could not write '%s'", filename); -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html