aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2004-03-17 23:32:08 +0000
committerdrh <drh@noemail.net>2004-03-17 23:32:08 +0000
commit8b8891bf0aa39fde98831f4cdd391c1a22e672f1 (patch)
treecfed143cfb276dc0a09bf69eaf27403e422a617c /src/expr.c
parent276fd588d8cea5886cdc462c9072be8bd224b865 (diff)
downloadsqlite-8b8891bf0aa39fde98831f4cdd391c1a22e672f1.tar.gz
sqlite-8b8891bf0aa39fde98831f4cdd391c1a22e672f1.zip
Fix a VDBE stack overflow that occurs when the left-hand side of an IN
expression is NULL and the result is stored on the stack rather than used to control a jump. Ticket #668. (CVS 1299) FossilOrigin-Name: fc7a7975b03c144c2db3566facd008d3701c735e
Diffstat (limited to 'src/expr.c')
-rw-r--r--src/expr.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/expr.c b/src/expr.c
index dca48e35e..eafc50ce8 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.112 2004/02/25 13:47:31 drh Exp $
+** $Id: expr.c,v 1.113 2004/03/17 23:32:08 drh Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>
@@ -1163,7 +1163,7 @@ void sqliteExprCode(Parse *pParse, Expr *pExpr){
sqliteExprCode(pParse, pExpr->pLeft);
addr = sqliteVdbeCurrentAddr(v);
sqliteVdbeAddOp(v, OP_NotNull, -1, addr+4);
- sqliteVdbeAddOp(v, OP_Pop, 1, 0);
+ sqliteVdbeAddOp(v, OP_Pop, 2, 0);
sqliteVdbeAddOp(v, OP_String, 0, 0);
sqliteVdbeAddOp(v, OP_Goto, 0, addr+6);
if( pExpr->pSelect ){