diff --git a/ftk/src/ftkbtree.cpp b/ftk/src/ftkbtree.cpp index cb0932f..9a8c8e3 100644 --- a/ftk/src/ftkbtree.cpp +++ b/ftk/src/ftkbtree.cpp @@ -5344,6 +5344,10 @@ RCODE F_BTree::moveEntriesToNextBlock( if( bCommonParent || (pParentStack->uiCurOffset < (FLMUINT)(getNumKeys( pParentStack->pucBlock) - 1))) { + if (pParentBlock) + { + pParentBlock->Release(); + } pParentBlock = pParentStack->pBlock; pucParentBlock = pParentStack->pucBlock; pParentBlock->AddRef(); @@ -5364,11 +5368,9 @@ RCODE F_BTree::moveEntriesToNextBlock( } pParentStack->pBlock = pParentBlock; + pParentStack->pBlock->AddRef(); pParentStack->pucBlock = pucParentBlock; - pParentBlock = NULL; - pucParentBlock = NULL; - bCommonParent = TRUE; } else