diff options
author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | 2007-02-22 19:14:14 +0100 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2007-02-22 22:30:33 -0800 |
commit | fa257b0554d5cea91c2bba98c2017336e0890b36 (patch) | |
tree | ecd68a581b9a272d0aa6c531cce9bac516df367e /index-pack.c | |
parent | 2e0afafebd8c5a1a8cdddb0714073461229ecfef (diff) | |
download | git-fa257b0554d5cea91c2bba98c2017336e0890b36.tar.gz git-fa257b0554d5cea91c2bba98c2017336e0890b36.tar.xz |
git-bundle: assorted fixes
This patch fixes issues mentioned by Junio, Nico and Simon:
- I forgot to convert the usage string when removing the "--" from
the subcommands,
- a style fix in the bundle_header,
- use xread() instead of read(),
- use write_or_die() instead of write(),
- make the bundle header extensible,
- fail if the whitespace after a sha1 of a reference is missing,
- close() the fds passed to a subprocess,
- in verify_bundle(), do not use "rev-list --stdin", but rather
pass the revs directly (avoiding a fork()),
- fix a corrupted comment in show_object(), and
- fix the size check in index_pack.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'index-pack.c')
-rw-r--r-- | index-pack.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/index-pack.c b/index-pack.c index 24bbdcd82..64d75f8c4 100644 --- a/index-pack.c +++ b/index-pack.c @@ -457,8 +457,9 @@ static void parse_pack_objects(unsigned char *sha1) /* If input_fd is a file, we should have reached its end now. */ if (fstat(input_fd, &st)) die("cannot fstat packfile: %s", strerror(errno)); - if (input_fd && S_ISREG(st.st_mode) && st.st_size != consumed_bytes) - die("pack has junk at the end: 0%o, %d, %d %d", st.st_mode, (int)st.st_size, (int)consumed_bytes, input_fd); + if (S_ISREG(st.st_mode) && + lseek(input_fd, 0, SEEK_CUR) - input_len != st.st_size) + die("pack has junk at the end"); if (!nr_deltas) return; |