aboutsummaryrefslogtreecommitdiff
path: root/src/insert.c
diff options
context:
space:
mode:
authordrh <>2021-01-12 16:26:36 +0000
committerdrh <>2021-01-12 16:26:36 +0000
commitb782e05c64fe1d65678013ee605b231ccc9d70bc (patch)
tree332fd14b13e6656e19866901abf5501857d7cee4 /src/insert.c
parentd9cc532a1e06a6cbef17f0b47e1626827de97102 (diff)
parent21d4f5b53a4d758a1a164201fe25c32b20b9c08a (diff)
downloadsqlite-b782e05c64fe1d65678013ee605b231ccc9d70bc.tar.gz
sqlite-b782e05c64fe1d65678013ee605b231ccc9d70bc.zip
Merge the ParseCleanup enhancement to trunk.
FossilOrigin-Name: 35824c1bcbd89ae4a94acfbe511bfbd888c418b981819e72bc9a991fc82d136c
Diffstat (limited to 'src/insert.c')
-rw-r--r--src/insert.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/insert.c b/src/insert.c
index 0e52ee7a0..c0ab0cf37 100644
--- a/src/insert.c
+++ b/src/insert.c
@@ -370,7 +370,9 @@ static int autoIncBegin(
while( pInfo && pInfo->pTab!=pTab ){ pInfo = pInfo->pNext; }
if( pInfo==0 ){
pInfo = sqlite3DbMallocRawNN(pParse->db, sizeof(*pInfo));
- if( pInfo==0 ) return 0;
+ sqlite3ParserAddCleanup(pToplevel, sqlite3DbFree, pInfo);
+ testcase( pParse->earlyCleanup );
+ if( pParse->db->mallocFailed ) return 0;
pInfo->pNext = pToplevel->pAinc;
pToplevel->pAinc = pInfo;
pInfo->pTab = pTab;