2009-10-31 12:44 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

* harbour/src/rdd/dbfcdx/dbfcdx1.c
    % added small protection against code which may want to create
      degenerated index tree using very large keys (over 158 bytes length)
This commit is contained in:
Przemyslaw Czerpak
2009-10-31 11:44:18 +00:00
parent 4517734d5c
commit 9cb8e49022
2 changed files with 9 additions and 1 deletions

View File

@@ -17,6 +17,11 @@
past entries belonging to author(s): Viktor Szakats.
*/
2009-10-31 12:44 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rdd/dbfcdx/dbfcdx1.c
% added small protection against code which may want to create
degenerated index tree using very large keys (over 158 bytes length)
2009-10-31 10:45 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
+ w64-make.exe
+ Added win64 build of GNU Make 3.81.90-CVS-20090901.

View File

@@ -3221,10 +3221,13 @@ static int hb_cdxPageKeyIntBalance( LPCDXPAGE pPage, int iChildRet )
*/
if( iKeys > 0 )
{
fForce = pPage->TagParent->MaxKeys == 2 && iBlncKeys > 2 &&
iKeys == ( iBlncKeys << 1 ) - 1;
pPtr = pKeyPool;
for( i = 0; i < iBlncKeys; i++ )
{
iNodeKeys = ( iKeys + iBlncKeys - i - 1 ) / ( iBlncKeys - i );
iNodeKeys = ( fForce && i == 1 ) ? 1 :
( ( iKeys + iBlncKeys - i - 1 ) / ( iBlncKeys - i ) );
#ifdef HB_CDX_DBGCODE
if( iNodeKeys > pPage->TagParent->MaxKeys )
hb_cdxErrInternal( "hb_cdxPageKeyIntBalance: iNodeKeys calculated wrong!." );