diff options
author | drh <> | 2022-07-11 14:36:03 +0000 |
---|---|---|
committer | drh <> | 2022-07-11 14:36:03 +0000 |
commit | cd9e86307911a04a211451569cdcee06af4b26a1 (patch) | |
tree | 59f7dc68df1b0ccb1829f341c3abd75e21152955 /src | |
parent | 3dfab26028cc5482bc4d29270cd47f41fd863743 (diff) | |
download | sqlite-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.c | 2 | ||||
-rw-r--r-- | src/tokenize.c | 1 |
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 |