threads / patch / 8360

patch, 3 partsEnsure the pack index is opened before access

Subject: [PATCH 2/3] Ensure the pack index is opened before access

## tl;dr

One message between May 30, 2007 and May 30, 2007. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Shawn O. Pearce· May 30, 2007, 06:13 UTC · lore

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>
---
 builtin-fsck.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
Show changes to builtin-fsck.c +4 −1
diff --git a/builtin-fsck.c b/builtin-fsck.c
index cbbcaf0..9959818 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));
 		}
-- 
1.5.2.869.g6b3ba

← back to recent threads