Fix an assert that could fail after a parse error in expr.c. (CVS 6555)

FossilOrigin-Name: a37d1174eb80e9a09522b236afdb47283f312d06
diff --git a/src/expr.c b/src/expr.c
index 003480c..068fd78 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.428 2009/04/23 13:22:43 drh Exp $
+** $Id: expr.c,v 1.429 2009/04/28 11:10:39 danielk1977 Exp $
 */
 #include "sqliteInt.h"
 
@@ -2575,7 +2575,7 @@
       }else{
         sqlite3VdbeAddOp2(v, OP_Null, 0, target);
       }
-      assert( pParse->iCacheLevel==iCacheLevel );
+      assert( pParse->nErr>0 || pParse->iCacheLevel==iCacheLevel );
       sqlite3VdbeResolveLabel(v, endLabel);
       break;
     }