jgit/org.eclipse.jgit.storage.dht/src/org/eclipse/jgit/storage/dht
Shawn O. Pearce 6c0d300a54 Fix loading packed objects >2G
Parsing the size from a packed object header was incorrectly computing
the total inflated length when the length exceeded the range of a Java
int. The next 7 bits of size information was shifted left as an int
using a shift of 25 bits, placing the higher bits of the size into the
sign position. When this size was extended to a long to be added to
the current size accumulator the size went negative, resulting in
NegativeArraySizeException being thrown.

Fix all places where this particular pattern of code is used to read a
pack size field, or a binary delta header, as they both use the same
variable length encoding scheme.

Change-Id: I04008728ed828f18202652c3d5401cf95a441d0a
2012-03-28 10:36:51 -04:00
..
spi DHT: Support removing a repository name 2011-05-31 08:58:45 -07:00
AsyncCallback.java Store Git on any DHT 2011-05-05 10:21:12 -07:00
BatchObjectLookup.java Store Git on any DHT 2011-05-05 10:21:12 -07:00
CachedPackKey.java DHT: Replace TinyProtobuf with Google Protocol Buffers 2011-05-25 09:00:42 -05:00
ChunkFormatter.java DHT: Replace TinyProtobuf with Google Protocol Buffers 2011-05-25 09:00:42 -05:00
ChunkIndex.java Store Git on any DHT 2011-05-05 10:21:12 -07:00
ChunkInfo.java DHT: Replace TinyProtobuf with Google Protocol Buffers 2011-05-25 09:00:42 -05:00
ChunkKey.java DHT: Drop leading hash digits from row keys 2011-06-09 17:29:46 -07:00
ChunkMetaUtil.java DHT: Replace TinyProtobuf with Google Protocol Buffers 2011-05-25 09:00:42 -05:00
DeltaBaseCache.java Store Git on any DHT 2011-05-05 10:21:12 -07:00
DhtCachedPack.java DHT: Change DhtReadher caches to be dynamic by workload 2011-06-09 19:10:15 -07:00
DhtConfig.java Store Git on any DHT 2011-05-05 10:21:12 -07:00
DhtException.java Store Git on any DHT 2011-05-05 10:21:12 -07:00
DhtInserter.java DHT: Replace TinyProtobuf with Google Protocol Buffers 2011-05-25 09:00:42 -05:00
DhtInserterOptions.java DHT: Replace TinyProtobuf with Google Protocol Buffers 2011-05-25 09:00:42 -05:00
DhtMissingChunkException.java Store Git on any DHT 2011-05-05 10:21:12 -07:00
DhtObjDatabase.java Store Git on any DHT 2011-05-05 10:21:12 -07:00
DhtObjectRepresentation.java DHT: Replace TinyProtobuf with Google Protocol Buffers 2011-05-25 09:00:42 -05:00
DhtObjectToPack.java Store Git on any DHT 2011-05-05 10:21:12 -07:00
DhtPackParser.java cleanup: Drop unused parameter on DhtPackParser 2012-03-09 13:30:19 +01:00
DhtReader.java DHT: Change DhtReadher caches to be dynamic by workload 2011-06-09 19:10:15 -07:00
DhtReaderOptions.java DHT: Change DhtReadher caches to be dynamic by workload 2011-06-09 19:10:15 -07:00
DhtRefDatabase.java Reassign symbolic ref list after calling put. 2011-08-24 13:22:05 -07:00
DhtRefRename.java Store Git on any DHT 2011-05-05 10:21:12 -07:00
DhtRefUpdate.java DHT: Add sequence RefData 2011-05-25 09:08:33 -05:00
DhtRepository.java Fire IndexChangedEvent on DirCache.commit() 2011-09-30 00:00:22 +02:00
DhtRepositoryBuilder.java Store Git on any DHT 2011-05-05 10:21:12 -07:00
DhtText.java DHT: Replace TinyProtobuf with Google Protocol Buffers 2011-05-25 09:00:42 -05:00
DhtTimeoutException.java Store Git on any DHT 2011-05-05 10:21:12 -07:00
KeyUtils.java Store Git on any DHT 2011-05-05 10:21:12 -07:00
LargeNonDeltaObject.java DHT: Replace TinyProtobuf with Google Protocol Buffers 2011-05-25 09:00:42 -05:00
ObjectIndexKey.java DHT: Drop leading hash digits from row keys 2011-06-09 17:29:46 -07:00
ObjectInfo.java DHT: Replace TinyProtobuf with Google Protocol Buffers 2011-05-25 09:00:42 -05:00
ObjectWriter.java DHT: Replace TinyProtobuf with Google Protocol Buffers 2011-05-25 09:00:42 -05:00
OpenQueue.java DHT: Change DhtReadher caches to be dynamic by workload 2011-06-09 19:10:15 -07:00
PackChunk.java Fix loading packed objects >2G 2012-03-28 10:36:51 -04:00
Prefetcher.java DHT: Change DhtReadher caches to be dynamic by workload 2011-06-09 19:10:15 -07:00
QueueObjectLookup.java DHT: Replace TinyProtobuf with Google Protocol Buffers 2011-05-25 09:00:42 -05:00
RecentChunks.java DHT: Change DhtReadher caches to be dynamic by workload 2011-06-09 19:10:15 -07:00
RecentInfoCache.java Store Git on any DHT 2011-05-05 10:21:12 -07:00
RefDataUtil.java DHT: Add sequence RefData 2011-05-25 09:08:33 -05:00
RefKey.java Store Git on any DHT 2011-05-05 10:21:12 -07:00
RepositoryKey.java Store Git on any DHT 2011-05-05 10:21:12 -07:00
RepositoryName.java Store Git on any DHT 2011-05-05 10:21:12 -07:00
RepresentationSelector.java Store Git on any DHT 2011-05-05 10:21:12 -07:00
RowKey.java Store Git on any DHT 2011-05-05 10:21:12 -07:00
SizeQueue.java Store Git on any DHT 2011-05-05 10:21:12 -07:00
StreamingCallback.java Store Git on any DHT 2011-05-05 10:21:12 -07:00
Sync.java Store Git on any DHT 2011-05-05 10:21:12 -07:00
Timeout.java Store Git on any DHT 2011-05-05 10:21:12 -07:00