diff options
author | danielk1977 <danielk1977@noemail.net> | 2008-03-12 10:39:00 +0000 |
---|---|---|
committer | danielk1977 <danielk1977@noemail.net> | 2008-03-12 10:39:00 +0000 |
commit | b2b95d41a1dca8a736f100ca5261017ca0edd2b0 (patch) | |
tree | 71eba172ded54f588b397cd527fddecc118e2361 /src/expr.c | |
parent | f3868117f94dffb8b70203325380cab71abe451f (diff) | |
download | sqlite-b2b95d41a1dca8a736f100ca5261017ca0edd2b0.tar.gz sqlite-b2b95d41a1dca8a736f100ca5261017ca0edd2b0.zip |
Do not segfault after a parse error in a sub-select in a statement of the form "DELETE WHERE ... IN(sub-select)". Ticket #2991. (CVS 4854)
FossilOrigin-Name: 3f9f81e908aad6cdc0a16ec52f4ec46d89fd78bc
Diffstat (limited to 'src/expr.c')
-rw-r--r-- | src/expr.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/expr.c b/src/expr.c index b9cdce1ad..ed5764137 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.353 2008/03/10 14:12:53 drh Exp $ +** $Id: expr.c,v 1.354 2008/03/12 10:39:00 danielk1977 Exp $ */ #include "sqliteInt.h" #include <ctype.h> @@ -1577,7 +1577,7 @@ int sqlite3FindInIndex(Parse *pParse, Expr *pX, int mustBeUnique){ && (p=pX->pSelect)!=0 && !p->pPrior && !p->isDistinct && !p->isAgg && !p->pGroupBy && p->pSrc && p->pSrc->nSrc==1 && !p->pSrc->a[0].pSelect - && !p->pSrc->a[0].pTab->pSelect + && p->pSrc->a[0].pTab && !p->pSrc->a[0].pTab->pSelect && p->pEList->nExpr==1 && p->pEList->a[0].pExpr->op==TK_COLUMN && !p->pLimit && !p->pOffset && !p->pWhere ){ |