Do not attempt to read bitmap from invalid pack
If a pack file has been marked invalid due to a prior IOException accessing its contents, do not offer its bitmap index to callers. The pack cannot be used so its bitmap should be off limits from any reader trying to work from a bitmap. Change-Id: Ia44e46558abdddee560bb184158b1e0af9437eee
This commit is contained in:
parent
88c962484f
commit
913cccd5c4
|
@ -277,6 +277,8 @@ else if (bs <= 0)
|
|||
}
|
||||
|
||||
PackBitmapIndex getBitmapIndex(DfsReader ctx) throws IOException {
|
||||
if (invalid)
|
||||
return null;
|
||||
DfsBlockCache.Ref<PackBitmapIndex> idxref = bitmapIndex;
|
||||
if (idxref != null) {
|
||||
PackBitmapIndex idx = idxref.get();
|
||||
|
|
|
@ -1057,6 +1057,8 @@ private long findEndOffset(final long startOffset)
|
|||
}
|
||||
|
||||
synchronized PackBitmapIndex getBitmapIndex() throws IOException {
|
||||
if (invalid)
|
||||
return null;
|
||||
if (bitmapIdx == null && hasExt(BITMAP_INDEX)) {
|
||||
final PackBitmapIndex idx = PackBitmapIndex.open(
|
||||
extFile(BITMAP_INDEX), idx(), getReverseIdx());
|
||||
|
|
Loading…
Reference in New Issue