mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-27 20:41:58 +03:00
The previous OOM fix was bad. Back it out and replace it with a better one.
FossilOrigin-Name: 1e3bc3698a4b779e6af8e3c727929c4dbddf3edb
This commit is contained in:
@ -383,7 +383,7 @@ static int codeEqualityTerm(
|
||||
sqlite3VdbeAddOp2(v, OP_Null, 0, iReg);
|
||||
#ifndef SQLITE_OMIT_SUBQUERY
|
||||
}else{
|
||||
int eType;
|
||||
int eType = IN_INDEX_NOOP;
|
||||
int iTab;
|
||||
struct InLoop *pIn;
|
||||
WhereLoop *pLoop = pLevel->pWLoop;
|
||||
@ -436,13 +436,13 @@ static int codeEqualityTerm(
|
||||
pLhs = sqlite3ExprListAppend(pParse, pLhs, pNewLhs);
|
||||
}
|
||||
}
|
||||
|
||||
pX->x.pSelect->pEList = pRhs;
|
||||
pX->pLeft->x.pList = pLhs;
|
||||
|
||||
eType = sqlite3FindInIndex(pParse, pX, IN_INDEX_LOOP, 0, aiMap);
|
||||
pX->x.pSelect->pEList = pOrigRhs;
|
||||
pX->pLeft->x.pList = pOrigLhs;
|
||||
if( !db->mallocFailed ){
|
||||
pX->x.pSelect->pEList = pRhs;
|
||||
pX->pLeft->x.pList = pLhs;
|
||||
eType = sqlite3FindInIndex(pParse, pX, IN_INDEX_LOOP, 0, aiMap);
|
||||
pX->x.pSelect->pEList = pOrigRhs;
|
||||
pX->pLeft->x.pList = pOrigLhs;
|
||||
}
|
||||
sqlite3ExprListDelete(pParse->db, pLhs);
|
||||
sqlite3ExprListDelete(pParse->db, pRhs);
|
||||
}
|
||||
|
Reference in New Issue
Block a user