1
0
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:
drh
2016-08-24 00:51:48 +00:00
parent 894241c847
commit ac6b47d164
4 changed files with 17 additions and 17 deletions

View File

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