aboutsummaryrefslogtreecommitdiff
path: root/src/tokenize.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2015-04-25 00:32:30 +0000
committerdrh <drh@noemail.net>2015-04-25 00:32:30 +0000
commit9a9705de5cdfd99db64e3fa9dcd51158cee496dc (patch)
tree8b9b306cc5b8e1d6b9d925456dab2ed1c4a3571a /src/tokenize.c
parent9f18f7434e7b58fadfdbb620606c46284335962e (diff)
downloadsqlite-9a9705de5cdfd99db64e3fa9dcd51158cee496dc.tar.gz
sqlite-9a9705de5cdfd99db64e3fa9dcd51158cee496dc.zip
Do not send the extra ";" and "\000" tokens to the parser if a prior error
has occurred. FossilOrigin-Name: 9aa70ddf2ca6044634560a801b43df121384eb64
Diffstat (limited to 'src/tokenize.c')
-rw-r--r--src/tokenize.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/tokenize.c b/src/tokenize.c
index 076acb020..78baee3e1 100644
--- a/src/tokenize.c
+++ b/src/tokenize.c
@@ -450,12 +450,14 @@ int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzErrMsg){
}
abort_parse:
assert( nErr==0 );
- if( zSql[i]==0 && pParse->rc==SQLITE_OK ){
+ if( zSql[i]==0 && pParse->rc==SQLITE_OK && db->mallocFailed==0 ){
if( lastTokenParsed!=TK_SEMI ){
sqlite3Parser(pEngine, TK_SEMI, pParse->sLastToken, pParse);
pParse->zTail = &zSql[i];
}
- sqlite3Parser(pEngine, 0, pParse->sLastToken, pParse);
+ if( pParse->rc==SQLITE_OK && db->mallocFailed==0 ){
+ sqlite3Parser(pEngine, 0, pParse->sLastToken, pParse);
+ }
}
#ifdef YYTRACKMAXSTACKDEPTH
sqlite3_mutex_enter(sqlite3MallocMutex());