aboutsummaryrefslogtreecommitdiff
path: root/builtin-fsck.c
diff options
context:
space:
mode:
authorShawn O. Pearce <spearce@spearce.org>2007-05-30 02:13:14 -0400
committerJunio C Hamano <junkio@cox.net>2007-05-29 23:31:06 -0700
commitb77ffe8a57a0921f58cff22dcf1ed6ae64d89d6a (patch)
tree67d687cc3fdf5321caf2089eef702fb8e89e56aa /builtin-fsck.c
parenteaa867703927c1f383637979d16c40d996cea240 (diff)
downloadgit-b77ffe8a57a0921f58cff22dcf1ed6ae64d89d6a.tar.gz
git-b77ffe8a57a0921f58cff22dcf1ed6ae64d89d6a.tar.xz
Ensure the pack index is opened before access
In this particular location of fsck the index should have already been opened by verify_pack, which is called just before we get here and loop through the object names. However, just in case a future version of that function does not use the index file we'll double-check its open before we access the num_objects field. Better safe now than sorry later. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'builtin-fsck.c')
-rw-r--r--builtin-fsck.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/builtin-fsck.c b/builtin-fsck.c
index cbbcaf011..9959818ce 100644
--- a/builtin-fsck.c
+++ b/builtin-fsck.c
@@ -668,7 +668,10 @@ int cmd_fsck(int argc, char **argv, const char *prefix)
verify_pack(p, 0);
for (p = packed_git; p; p = p->next) {
- uint32_t i, num = p->num_objects;
+ uint32_t i, num;
+ if (open_pack_index(p))
+ continue;
+ num = p->num_objects;
for (i = 0; i < num; i++)
fsck_sha1(nth_packed_object_sha1(p, i));
}