aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/build.c2
-rw-r--r--src/parse.y7
-rw-r--r--src/tokenize.c2
3 files changed, 7 insertions, 4 deletions
diff --git a/src/build.c b/src/build.c
index 26eb0579e..58b39d647 100644
--- a/src/build.c
+++ b/src/build.c
@@ -2124,7 +2124,7 @@ void sqlite3CreateView(
** the end.
*/
sEnd = pParse->sLastToken;
- assert( sEnd.z[0]!=0 );
+ assert( sEnd.z[0]!=0 || sEnd.n==0 );
if( sEnd.z[0]!=';' ){
sEnd.z += sEnd.n;
}
diff --git a/src/parse.y b/src/parse.y
index e780f8c3a..d9cf1cb87 100644
--- a/src/parse.y
+++ b/src/parse.y
@@ -31,8 +31,11 @@
//
%syntax_error {
UNUSED_PARAMETER(yymajor); /* Silence some compiler warnings */
- assert( TOKEN.z[0] ); /* The tokenizer always gives us a token */
- sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &TOKEN);
+ if( TOKEN.z[0] ){
+ sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &TOKEN);
+ }else{
+ sqlite3ErrorMsg(pParse, "incomplete input");
+ }
}
%stack_overflow {
sqlite3ErrorMsg(pParse, "parser stack overflow");
diff --git a/src/tokenize.c b/src/tokenize.c
index 2aab334ae..e6da3fb54 100644
--- a/src/tokenize.c
+++ b/src/tokenize.c
@@ -526,7 +526,7 @@ int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzErrMsg){
}else{
tokenType = TK_SEMI;
}
- zSql -= n;
+ n = 0;
}
if( tokenType>=TK_SPACE ){
assert( tokenType==TK_SPACE || tokenType==TK_ILLEGAL );