]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
In the rtreedepth() function, detect OOM when converting a zeroblob() on
authordrh <>
Tue, 13 Apr 2021 12:28:55 +0000 (12:28 +0000)
committerdrh <>
Tue, 13 Apr 2021 12:28:55 +0000 (12:28 +0000)
input.  dbsqlfuzz ed23eda7cc3a8a054f85ea19d55c59ba2ca72744.

FossilOrigin-Name: 69f843c8fa6e21500b5777169c3b394453ba818b4e32427428480dca5b4ed615

ext/rtree/rtree.c
manifest
manifest.uuid

index f5b57a5e231030f839ebbb3b4837fbe7aa8d40e6..2151d5af04c69154ecacede795efed1631923168 100644 (file)
@@ -3890,11 +3890,16 @@ static void rtreedepth(sqlite3_context *ctx, int nArg, sqlite3_value **apArg){
   UNUSED_PARAMETER(nArg);
   if( sqlite3_value_type(apArg[0])!=SQLITE_BLOB 
    || sqlite3_value_bytes(apArg[0])<2
+
   ){
     sqlite3_result_error(ctx, "Invalid argument to rtreedepth()", -1); 
   }else{
     u8 *zBlob = (u8 *)sqlite3_value_blob(apArg[0]);
-    sqlite3_result_int(ctx, readInt16(zBlob));
+    if( zBlob ){
+      sqlite3_result_int(ctx, readInt16(zBlob));
+    }else{
+      sqlite3_result_error_nomem(ctx);
+    }
   }
 }
 
index e3c55868e30842e3218380c67ddcfed6cd6b7659..1ac7dacd31def1705aca001ab1ddd0ee1899354a 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\san\serror\sin\sthe\sinversion\sfunction\sfor\sjson_group_array().\ndbsqlfuzz\s68a4b0f668b7bc27235e3f1c5cff8a2d94cfa17e.
-D 2021-04-13T01:12:32.327
+C In\sthe\srtreedepth()\sfunction,\sdetect\sOOM\swhen\sconverting\sa\szeroblob()\son\ninput.\s\sdbsqlfuzz\sed23eda7cc3a8a054f85ea19d55c59ba2ca72744.
+D 2021-04-13T12:28:55.386
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -393,7 +393,7 @@ F ext/repair/test/checkindex01.test b530f141413b587c9eb78ff734de6bb79bc3515c3350
 F ext/repair/test/test.tcl 686d76d888dffd021f64260abf29a55c57b2cedfa7fc69150b42b1d6119aac3c
 F ext/rtree/README 6315c0d73ebf0ec40dedb5aa0e942bc8b54e3761
 F ext/rtree/geopoly.c 98d45533989e908bf65b43f36ff6eaad95a9ffe6f3b6b8658fbd47d45c58b10b
-F ext/rtree/rtree.c 60f6f1675134201974be4189dbd219494c13e1ed30e80bd92ae0dcc86df1b035
+F ext/rtree/rtree.c f1ce6a86f7cbff634900653bec2dfeba732dd4450eec921c0ac3851d41f462b9
 F ext/rtree/rtree.h 4a690463901cb5e6127cf05eb8e642f127012fd5003830dbc974eca5802d9412
 F ext/rtree/rtree1.test 00792b030a4e188ff1b22e8530e8aa0452bb5dd81c2b18cb004afc7dc63e040e
 F ext/rtree/rtree2.test 9d9deddbb16fd0c30c36e6b4fdc3ee3132d765567f0f9432ee71e1303d32603d
@@ -1912,7 +1912,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 59812e7ef705226c801f95ec7f78cc931f9957ffb66715607d63874813b280cb
-R dcc689ed7d4561f53e31e7e91d60e325
+P e718a62ed1d5ba9b1404ba67fae1ad731809e2ebd9253edc57d2b34a19fbef24
+R 1d8b77d255a7bcb7d3413be91d67a42e
 U drh
-Z 19d9f22d241b7563d9e432472de6d324
+Z 5e89c1af61b5fcb8690ac876b5916bc8
index c06d90a6b25e8259039cba63114dd3a645993b1f..97681220b4d72483575f3adb8f082f85c5b03698 100644 (file)
@@ -1 +1 @@
-e718a62ed1d5ba9b1404ba67fae1ad731809e2ebd9253edc57d2b34a19fbef24
\ No newline at end of file
+69f843c8fa6e21500b5777169c3b394453ba818b4e32427428480dca5b4ed615
\ No newline at end of file