mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-01 06:27:03 +03:00
Fix a memory leak so that now all dev tests (including TH3) are passing.
FossilOrigin-Name: 3995c45fff0e4bd10bcf49cc16eb1050216426723c63ba56d3ae5ba738c34019
This commit is contained in:
@ -5600,12 +5600,17 @@ static int convertCompoundSelectToSubquery(Walker *pWalker, Select *p){
|
||||
/* If we reach this point, that means the transformation is required. */
|
||||
|
||||
pParse = pWalker->pParse;
|
||||
if( pParse->nErr ) return WRC_Abort;
|
||||
db = pParse->db;
|
||||
pNew = sqlite3DbMallocZero(db, sizeof(*pNew) );
|
||||
if( pNew==0 ) return WRC_Abort;
|
||||
memset(&dummy, 0, sizeof(dummy));
|
||||
pNewSrc = sqlite3SrcListAppendFromTerm(pParse,0,0,0,&dummy,pNew,0);
|
||||
if( pNewSrc==0 ) return WRC_Abort;
|
||||
assert( pNewSrc!=0 || pParse->nErr );
|
||||
if( pParse->nErr ){
|
||||
sqlite3SrcListDelete(db, pNewSrc);
|
||||
return WRC_Abort;
|
||||
}
|
||||
*pNew = *p;
|
||||
p->pSrc = pNewSrc;
|
||||
p->pEList = sqlite3ExprListAppend(pParse, 0, sqlite3Expr(db, TK_ASTERISK, 0));
|
||||
|
Reference in New Issue
Block a user