diff -r 63532cdadd44 -r 0d6db0a14001 persistentstorage/dbms/ustor/US_TABLE.CPP --- a/persistentstorage/dbms/ustor/US_TABLE.CPP Fri Jun 11 15:29:22 2010 +0300 +++ b/persistentstorage/dbms/ustor/US_TABLE.CPP Tue Jul 06 16:18:30 2010 +0300 @@ -611,7 +611,9 @@ TInt size; rec=ReadCardinality(rec,size); size<<=2; - if(size < 0) + + //If such huge allocation is requested(KMaxTInt/2), it is highly likely the file is corrupt + if((size < 0) || (size >= KMaxTInt/2)) { aRow.SetSize(0); __LEAVE(KErrCorrupt);