diff --git a/pack-revindex.c b/pack-revindex.c
index cd300bdff5b524a4d509ba5276e9ef21f443013d..77a0465be6f6a79814aa3c009612736770b342a1 100644 (file)
--- a/pack-revindex.c
+++ b/pack-revindex.c
else
lo = mi + 1;
} while (lo < hi);
- die("internal error: pack revindex corrupt");
+ error("bad offset for revindex");
+ return NULL;
+}
+
+void discard_revindex(void)
+{
+ if (pack_revindex_hashsz) {
+ int i;
+ for (i = 0; i < pack_revindex_hashsz; i++)
+ free(pack_revindex[i].revindex);
+ free(pack_revindex);
+ pack_revindex_hashsz = 0;
+ }
}