Remove unnecessary truncation of in-pack size during copy
The number of bytes to copy was truncated to an int, but the pack's copyToStream() method expected to be passed a long here. Pass through the long so we don't truncate a giant object. Change-Id: I0786ad60a3a33f84d8746efe51f68d64e127c332 Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
parent
b6d0586bef
commit
ae972e774e
|
@ -270,7 +270,7 @@ final void copyRawData(final PackedObjectLoader loader,
|
||||||
throws IOException {
|
throws IOException {
|
||||||
final long objectOffset = loader.objectOffset;
|
final long objectOffset = loader.objectOffset;
|
||||||
final long dataOffset = objectOffset + loader.headerSize;
|
final long dataOffset = objectOffset + loader.headerSize;
|
||||||
final int cnt = (int) (findEndOffset(objectOffset) - dataOffset);
|
final long sz = findEndOffset(objectOffset) - dataOffset;
|
||||||
final PackIndex idx = idx();
|
final PackIndex idx = idx();
|
||||||
|
|
||||||
if (idx.hasCRC32Support()) {
|
if (idx.hasCRC32Support()) {
|
||||||
|
@ -283,7 +283,7 @@ final void copyRawData(final PackedObjectLoader loader,
|
||||||
headerCnt -= toRead;
|
headerCnt -= toRead;
|
||||||
}
|
}
|
||||||
final CheckedOutputStream crcOut = new CheckedOutputStream(out, crc);
|
final CheckedOutputStream crcOut = new CheckedOutputStream(out, crc);
|
||||||
copyToStream(dataOffset, buf, cnt, crcOut, curs);
|
copyToStream(dataOffset, buf, sz, crcOut, curs);
|
||||||
final long computed = crc.getValue();
|
final long computed = crc.getValue();
|
||||||
|
|
||||||
final ObjectId id = findObjectForOffset(objectOffset);
|
final ObjectId id = findObjectForOffset(objectOffset);
|
||||||
|
@ -301,7 +301,7 @@ final void copyRawData(final PackedObjectLoader loader,
|
||||||
coe.initCause(dfe);
|
coe.initCause(dfe);
|
||||||
throw coe;
|
throw coe;
|
||||||
}
|
}
|
||||||
copyToStream(dataOffset, buf, cnt, out, curs);
|
copyToStream(dataOffset, buf, sz, out, curs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue