Antrax810 / csharptest-net

Automatically exported from code.google.com/p/csharptest-net
0 stars 0 forks source link

4GB File limit in TransactedCompoundFile (int overflow) #35

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Reported by Alex:

I using BPlusTree in my own project for storing data and its performance is 
great! But when my data size has comed nearer to 4 Gb the file is stopped to 
open. The problem is that TransactedCompoundFile has overflow error in GetFree 
method. Look at next line (931)

long position = BlocksPerSection*BlockSize*block.Section;

Even declaring left size of statement as long, don't casts right size to the 
same type. All right-hand side orerands has type of Integer, and overflow may 
occur in that place. So, you must rewrite that line to

long position = (long)BlocksPerSection*BlockSize*block.Section;
or
long position = 1L*BlocksPerSection*BlockSize*block.Section;

Original issue reported on code.google.com by Grig...@gmail.com on 26 Jan 2014 at 7:21

GoogleCodeExporter commented 8 years ago
Fixed in pending release

Original comment by Grig...@gmail.com on 26 Jan 2014 at 7:33

GoogleCodeExporter commented 8 years ago
Fixed in 2.14.126.467

Original comment by Grig...@gmail.com on 26 Jan 2014 at 10:09