Browse Source

[PATCH] git-tar-tree: fix write_trailer

write_trailer() writes the last 10k (a full block) of the tar archive.
write_if_needed() writes out a block *if* it is full and then sets
the offset to 0.  In nine out of ten cases the messed up write_trailer()
function didn't manage to fill the block thus not writing anything at
all, truncating the archive.  I was "lucky" to hit the other case and so
my testing ran OK.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
maint
Rene Scharfe 20 years ago committed by Linus Torvalds
parent
commit
a325a11b88
  1. 2
      tar-tree.c

2
tar-tree.c

@ -77,7 +77,7 @@ static void write_trailer(void) @@ -77,7 +77,7 @@ static void write_trailer(void)
write_if_needed();
get_record();
write_if_needed();
if (offset) {
while (offset) {
get_record();
write_if_needed();
}

Loading…
Cancel
Save