From: drh Date: Thu, 6 Sep 2018 11:14:17 +0000 (+0000) Subject: Fix excess memory usage in the JSON parser of GEOPOLY. X-Git-Tag: version-3.25.0~41 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a83a74c428bc6386b3146e23d6f58b5c76cbb98b;p=thirdparty%2Fsqlite.git Fix excess memory usage in the JSON parser of GEOPOLY. FossilOrigin-Name: 9057e27e12ded07a9ea0b2868036d3019f7bc5be3a67e3d341f56b762d3de9d9 --- diff --git a/ext/rtree/geopoly.c b/ext/rtree/geopoly.c index f0612a690b..a32ccbcad9 100644 --- a/ext/rtree/geopoly.c +++ b/ext/rtree/geopoly.c @@ -204,7 +204,7 @@ static GeoPoly *geopolyParseJson(const unsigned char *z, int *pRc){ int ii = 0; char c; s.z++; - if( s.nVertex<=s.nAlloc ){ + if( s.nVertex>=s.nAlloc ){ GeoCoord *aNew; s.nAlloc = s.nAlloc*2 + 16; aNew = sqlite3_realloc64(s.a, s.nAlloc*sizeof(GeoCoord)*2 ); diff --git a/manifest b/manifest index 92fc8890de..00c8e313f3 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sa\sproblem\swith\sgeopoly\strying\sto\supdate\sboth\sthe\s_shape\sand\san\sauxiliary\ncolumn\sin\sthe\ssame\sUPDATE\sstatement. -D 2018-09-06T02:40:15.500 +C Fix\sexcess\smemory\susage\sin\sthe\sJSON\sparser\sof\sGEOPOLY. +D 2018-09-06T11:14:17.559 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F Makefile.in d06f463c5b623a61ac27f5cb8214fca9e53a6704d34d6b8f2124e2b1b293c88f @@ -359,7 +359,7 @@ F ext/repair/test/checkfreelist01.test 3e8aa6aeb4007680c94a8d07b41c339aa635cc782 F ext/repair/test/checkindex01.test 6945d0ffc0c1dc993b2ce88036b26e0f5d6fcc65da70fc9df27c2647bb358b0f F ext/repair/test/test.tcl 686d76d888dffd021f64260abf29a55c57b2cedfa7fc69150b42b1d6119aac3c F ext/rtree/README 6315c0d73ebf0ec40dedb5aa0e942bc8b54e3761 -F ext/rtree/geopoly.c d4cd584033fd4c2fd8a7a3077bbd2c6807a7ebfd3d1390e9533d128f24ce5f5f +F ext/rtree/geopoly.c 6a5e68798129367733aa9a3dce4ea2c6d0d8a007339576f9192612e186ee08c0 F ext/rtree/rtree.c ce94cbb319423fd739702582dde47371aec8ad85207d517c41bdbf75a7ffd737 F ext/rtree/rtree.h 4a690463901cb5e6127cf05eb8e642f127012fd5003830dbc974eca5802d9412 F ext/rtree/rtree1.test 309afc04d4287542b2cd74f933296832cc681c7b014d9405cb329b62053a5349 @@ -1758,7 +1758,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 e628713338f6e584a32d5fc3436ddbd9ee8cf88401c321c1ebe7daa1e695c623 -R 2d9f86c9e887caa0a8758a6d1fe7409b +P 14c955152d0580abc3df1b363789f2925e013b9c957e550b1e6ebe83a82bae6c +R 913d94dd999b47369f6272c91a914e8c U drh -Z 91ca9f97862a714dd5b411fa55fdf14a +Z ffcf16cabc344c45daf16477ee7cef3a diff --git a/manifest.uuid b/manifest.uuid index 67f6af9103..9b53c5b50b 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -14c955152d0580abc3df1b363789f2925e013b9c957e550b1e6ebe83a82bae6c \ No newline at end of file +9057e27e12ded07a9ea0b2868036d3019f7bc5be3a67e3d341f56b762d3de9d9 \ No newline at end of file