diff options
author | drh <drh@noemail.net> | 2015-04-25 00:32:30 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2015-04-25 00:32:30 +0000 |
commit | 9a9705de5cdfd99db64e3fa9dcd51158cee496dc (patch) | |
tree | 8b9b306cc5b8e1d6b9d925456dab2ed1c4a3571a /src/tokenize.c | |
parent | 9f18f7434e7b58fadfdbb620606c46284335962e (diff) | |
download | sqlite-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.c | 6 |
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()); |