1
0
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:
drh
2024-08-20 17:24:42 +00:00
parent ff4ad29d05
commit 27c680cc69
3 changed files with 13 additions and 8 deletions

View File

@ -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));