diff options
Diffstat (limited to 'src/insert.c')
-rw-r--r-- | src/insert.c | 4 |
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; |