]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix excess memory usage in the JSON parser of GEOPOLY.
authordrh <drh@noemail.net>
Thu, 6 Sep 2018 11:14:17 +0000 (11:14 +0000)
committerdrh <drh@noemail.net>
Thu, 6 Sep 2018 11:14:17 +0000 (11:14 +0000)
FossilOrigin-Name: 9057e27e12ded07a9ea0b2868036d3019f7bc5be3a67e3d341f56b762d3de9d9

ext/rtree/geopoly.c
manifest
manifest.uuid

index f0612a690b25535c0136f55dfc27f933e95ebf6e..a32ccbcad9bcd39f7fd73dd79964ab568353ba21 100644 (file)
@@ -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 );
index 92fc8890de500e74e36c67bbe913029316ed71f5..00c8e313f32e6b998755c7409aedc2cdc7cc599a 100644 (file)
--- 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
index 67f6af9103ddf264a7fcf71e119ba0d83834f4e8..9b53c5b50bf24721bf78c4e46d006214c3690ece 100644 (file)
@@ -1 +1 @@
-14c955152d0580abc3df1b363789f2925e013b9c957e550b1e6ebe83a82bae6c
\ No newline at end of file
+9057e27e12ded07a9ea0b2868036d3019f7bc5be3a67e3d341f56b762d3de9d9
\ No newline at end of file