1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-29 08:01:23 +03:00

The sqlite3_blob_close() interface can cause recursive invocations of

nodeBlobReset() in RTREE.  Make sure that does not cause problems.

FossilOrigin-Name: 88333441cbf26bfde2acebf2a3f75b5ebbdfb0ae
This commit is contained in:
drh
2017-02-02 15:35:54 +00:00
parent 2033d1c8ca
commit 413e207e31
3 changed files with 9 additions and 8 deletions

View File

@ -625,8 +625,9 @@ static RtreeNode *nodeNew(Rtree *pRtree, RtreeNode *pParent){
*/
static void nodeBlobReset(Rtree *pRtree){
if( pRtree->pNodeBlob && pRtree->inWrTrans==0 && pRtree->nCursor==0 ){
sqlite3_blob_close(pRtree->pNodeBlob);
sqlite3_blob *pBlob = pRtree->pNodeBlob;
pRtree->pNodeBlob = 0;
sqlite3_blob_close(pBlob);
}
}