From: drh Date: Thu, 28 Mar 2019 04:03:17 +0000 (+0000) Subject: If the string formatter in sqlite3NestedParse() fails due to an over-length X-Git-Tag: version-3.28.0~82 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a2b6806b3e4dd2d39b2d776e7eaecff17bc2d086;p=thirdparty%2Fsqlite.git 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 --- diff --git a/manifest b/manifest index 54426c06d2..af3eaf8f26 100644 --- a/manifest +++ b/manifest @@ -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 diff --git a/manifest.uuid b/manifest.uuid index 173beec6b9..5a275b656f 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -bbdbaf84a52937ccf877072a8b01b07f7b9c037c59ba54df72ca888d5404cbad \ No newline at end of file +85e53ff13300132250221de769a2aa7d92d81bb48d60f6e99000bc69a5b1e6fb \ No newline at end of file diff --git a/src/build.c b/src/build.c index 346e970602..0115727ee8 100644 --- a/src/build.c +++ b/src/build.c @@ -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++;