If the string formatter in sqlite3NestedParse() fails due to an over-length

string, make sure this error is recorded by the parser so that it knows to
fail.

FossilOrigin-Name: 85e53ff13300132250221de769a2aa7d92d81bb48d60f6e99000bc69a5b1e6fb
This commit is contained in:
drh 2019-03-28 04:03:17 +00:00
parent 40f827a65e
commit a2b6806b3e
3 changed files with 8 additions and 7 deletions

View File

@ -1,5 +1,5 @@
C Improvements\sto\sthe\sREADME.md\sfile.\s\sNo\scode\schanges.
D 2019-03-28T01:00:37.995
C If\sthe\sstring\sformatter\sin\ssqlite3NestedParse()\sfails\sdue\sto\san\sover-length\nstring,\smake\ssure\sthis\serror\sis\srecorded\sby\sthe\sparser\sso\sthat\sit\sknows\sto\nfail.
D 2019-03-28T04:03:17.931
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@ -460,7 +460,7 @@ F src/btmutex.c 8acc2f464ee76324bf13310df5692a262b801808984c1b79defb2503bbafadb6
F src/btree.c a644e8f3b71205e1e360ed5a28d8fc8feaa5c63fee3a49a36711ff83f4bdf6d2
F src/btree.h 63b94fb38ce571c15eb6a3661815561b501d23d5948b2d1e951fbd7a2d04e8d3
F src/btreeInt.h 6111c15868b90669f79081039d19e7ea8674013f907710baa3c814dc3f8bfd3f
F src/build.c 7c8851893fb616115d7f6ae1e07df5076c6d4a8f592cd2affa04f3112176c38c
F src/build.c 241006a97dee8a3e762a724aa549ca79171826a5b0b1d8e7ee41ffcd92bc5328
F src/callback.c 25dda5e1c2334a367b94a64077b1d06b2553369f616261ca6783c48bcb6bda73
F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e
F src/ctime.c 109e58d00f62e8e71ee1eb5944ac18b90171c928ab2e082e058056e1137cc20b
@ -1813,7 +1813,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P b2011c13173114505705d2ff2ba6f476697d51aca0bddd585a9e5a639dca41e2
R 125af71b8b5fa954757389f2105f8b01
P bbdbaf84a52937ccf877072a8b01b07f7b9c037c59ba54df72ca888d5404cbad
R a8b4e886cb7335563acdda9aaece2736
U drh
Z e7286ca0ff41050ec1d4c73a21236495
Z 5908e55b684ef19b846738ab0396e51d

View File

@ -1 +1 @@
bbdbaf84a52937ccf877072a8b01b07f7b9c037c59ba54df72ca888d5404cbad
85e53ff13300132250221de769a2aa7d92d81bb48d60f6e99000bc69a5b1e6fb

View File

@ -264,6 +264,7 @@ void sqlite3NestedParse(Parse *pParse, const char *zFormat, ...){
** exceeds SQLITE_LIMIT_LENGTH. In the latter case, we need to set
** an error */
if( !db->mallocFailed ) pParse->rc = SQLITE_TOOBIG;
pParse->nErr++;
return;
}
pParse->nested++;