Another fix to the same assert as in (6555). It can also fail after a malloc error. (CVS 6556)

FossilOrigin-Name: e096f90a57f0e0d1dbeaafc72762035ca55ab803
diff --git a/src/expr.c b/src/expr.c
index 068fd78..ff5c4bd 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -12,7 +12,7 @@
 ** This file contains routines used for analyzing expressions and
 ** for generating VDBE code that evaluates expressions in SQLite.
 **
-** $Id: expr.c,v 1.429 2009/04/28 11:10:39 danielk1977 Exp $
+** $Id: expr.c,v 1.430 2009/04/28 12:08:15 danielk1977 Exp $
 */
 #include "sqliteInt.h"
 
@@ -2575,7 +2575,8 @@
       }else{
         sqlite3VdbeAddOp2(v, OP_Null, 0, target);
       }
-      assert( pParse->nErr>0 || pParse->iCacheLevel==iCacheLevel );
+      assert( db->mallocFailed || pParse->nErr>0 
+           || pParse->iCacheLevel==iCacheLevel );
       sqlite3VdbeResolveLabel(v, endLabel);
       break;
     }