aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <>2022-07-11 14:36:03 +0000
committerdrh <>2022-07-11 14:36:03 +0000
commitcd9e86307911a04a211451569cdcee06af4b26a1 (patch)
tree59f7dc68df1b0ccb1829f341c3abd75e21152955 /src
parent3dfab26028cc5482bc4d29270cd47f41fd863743 (diff)
downloadsqlite-cd9e86307911a04a211451569cdcee06af4b26a1.tar.gz
sqlite-cd9e86307911a04a211451569cdcee06af4b26a1.zip
Ensure that the Parse.nErr flag is set following an SQLITE_TOOBIG error on
a nested parse. Fix for the problem identified by [forum/forumpost/d5a82ba9eedee30c | forum post d5a82ba9eedee30c]. Also, remove unnecessary clearing of the Parse.zErrMsg field following a nested parse. FossilOrigin-Name: 44d77a7f807f5dc3e94e6cd88a27bea79257f0f2ccf332891bdaa4668d0bb987
Diffstat (limited to 'src')
-rw-r--r--src/build.c2
-rw-r--r--src/tokenize.c1
2 files changed, 1 insertions, 2 deletions
diff --git a/src/build.c b/src/build.c
index e243e795f..31ab81b09 100644
--- a/src/build.c
+++ b/src/build.c
@@ -331,8 +331,6 @@ void sqlite3NestedParse(Parse *pParse, const char *zFormat, ...){
memset(PARSE_TAIL(pParse), 0, PARSE_TAIL_SZ);
db->mDbFlags |= DBFLAG_PreferBuiltin;
sqlite3RunParser(pParse, zSql);
- sqlite3DbFree(db, pParse->zErrMsg);
- pParse->zErrMsg = 0;
db->mDbFlags = savedDbFlags;
sqlite3DbFree(db, zSql);
memcpy(PARSE_TAIL(pParse), saveBuf, PARSE_TAIL_SZ);
diff --git a/src/tokenize.c b/src/tokenize.c
index f0c0cc191..b147cdb40 100644
--- a/src/tokenize.c
+++ b/src/tokenize.c
@@ -614,6 +614,7 @@ int sqlite3RunParser(Parse *pParse, const char *zSql){
mxSqlLen -= n;
if( mxSqlLen<0 ){
pParse->rc = SQLITE_TOOBIG;
+ pParse->nErr++;
break;
}
#ifndef SQLITE_OMIT_WINDOWFUNC