aboutsummaryrefslogtreecommitdiff
path: root/ext/rtree/rtree.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2019-01-08 14:28:02 +0000
committerdrh <drh@noemail.net>2019-01-08 14:28:02 +0000
commitc0f162020ec27bd7cc93c17f3f7e0e91c72f51e4 (patch)
tree4c3ea935409fa630354d682c331f048387bbc28e /ext/rtree/rtree.c
parent174c21ff06fd8e31b6ad415fdadf5b50c1225443 (diff)
downloadsqlite-c0f162020ec27bd7cc93c17f3f7e0e91c72f51e4.tar.gz
sqlite-c0f162020ec27bd7cc93c17f3f7e0e91c72f51e4.zip
Fix a possible memory leak when trying to UPDATE a corrupt RTREE index.
FossilOrigin-Name: 63eb803dbc27077007dbee8def659d1523724eb73f1def1cdb68027e5c20843a
Diffstat (limited to 'ext/rtree/rtree.c')
-rw-r--r--ext/rtree/rtree.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ext/rtree/rtree.c b/ext/rtree/rtree.c
index ea44ffeff..83d1b82ab 100644
--- a/ext/rtree/rtree.c
+++ b/ext/rtree/rtree.c
@@ -717,7 +717,6 @@ static int nodeAcquire(
pNode->pNext = 0;
rc = sqlite3_blob_read(pRtree->pNodeBlob, pNode->zData,
pRtree->iNodeSize, 0);
- nodeReference(pParent);
}
}
@@ -748,6 +747,7 @@ static int nodeAcquire(
if( rc==SQLITE_OK ){
if( pNode!=0 ){
+ nodeReference(pParent);
nodeHashInsert(pRtree, pNode);
}else{
rc = SQLITE_CORRUPT_VTAB;