The previous OOM fix was bad.  Back it out and replace it with a better one.

FossilOrigin-Name: 1e3bc3698a4b779e6af8e3c727929c4dbddf3edb
diff --git a/src/expr.c b/src/expr.c
index 0f59970..572edaa 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -1952,6 +1952,7 @@
   assert( pTab->pSelect==0 );            /* FROM clause is not a view */
   if( IsVirtual(pTab) ) return 0;        /* FROM clause not a virtual table */
   pEList = p->pEList;
+  assert( pEList!=0 );
 
   /* All SELECT results must be columns. */
   for(i=0; i<pEList->nExpr; i++){
@@ -2103,7 +2104,6 @@
   int mustBeUnique;                     /* True if RHS must be unique */
   Vdbe *v = sqlite3GetVdbe(pParse);     /* Virtual machine being coded */
 
-  if( pParse->db->mallocFailed ) return IN_INDEX_NOOP;
   assert( pX->op==TK_IN );
   mustBeUnique = (inFlags & IN_INDEX_LOOP)!=0;