]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add OOM check, per tip at [forum:/forumpost/933479b2d5|forum post 933479b2d5]
authorlarrybr <larrybr@noemail.net>
Sat, 14 Jan 2023 19:27:40 +0000 (19:27 +0000)
committerlarrybr <larrybr@noemail.net>
Sat, 14 Jan 2023 19:27:40 +0000 (19:27 +0000)
FossilOrigin-Name: eda84dcffee6016fb3f8588d96c7ffb6275edd626b11f6fe12e81be90226c7d8

ext/misc/sqlar.c
manifest
manifest.uuid

index 47cb68ff60d7257e3e8dba2cb9d969088f99e450..be079a546a2ad20439c406093866d31089db5016 100644 (file)
@@ -91,7 +91,9 @@ static void sqlarUncompressFunc(
   }else{
     const Bytef *pData= sqlite3_value_blob(argv[0]);
     Bytef *pOut = sqlite3_malloc(sz);
-    if( Z_OK!=uncompress(pOut, &sz, pData, nData) ){
+    if( pOut==0 ){
+      sqlite3_result_error_nomem(context);
+    }else if( Z_OK!=uncompress(pOut, &sz, pData, nData) ){
       sqlite3_result_error(context, "error in uncompress()", -1);
     }else{
       sqlite3_result_blob(context, pOut, sz, SQLITE_TRANSIENT);
@@ -100,7 +102,6 @@ static void sqlarUncompressFunc(
   }
 }
 
-
 #ifdef _WIN32
 __declspec(dllexport)
 #endif
index a1ba3ec167dadddcefe1547fdadbe97d166ae789..578826ca24dec1d57ae6a30f9458e397e6df50c0 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Doc-only\sfix,\sper\s[forum:/forumpost/0cfaf6876b|forum\spost\s0cfaf6876b]
-D 2023-01-14T19:09:26.976
+C Add\sOOM\scheck,\sper\stip\sat\s[forum:/forumpost/933479b2d5|forum\spost\s933479b2d5]
+D 2023-01-14T19:27:40.985
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -328,7 +328,7 @@ F ext/misc/sha1.c 4011aef176616872b2a0d5bccf0ecfb1f7ce3fe5c3d107f3a8e949d8e1e3f0
 F ext/misc/shathree.c 9b7af7b7d55b27c5bbd16548b67fe6aa47a819e71bc6a80a456144f86f4e834d
 F ext/misc/showauth.c 732578f0fe4ce42d577e1c86dc89dd14a006ab52
 F ext/misc/spellfix.c 94df9bbfa514a563c1484f684a2df3d128a2f7209a84ca3ca100c68a0163e29f
-F ext/misc/sqlar.c 0ace5d3c10fe736dc584bf1159a36b8e2e60fab309d310cd8a0eecd9036621b6
+F ext/misc/sqlar.c 53e7d48f68d699a24f1a92e68e71eca8b3a9ff991fe9588c2a05bde103c6e7b7
 F ext/misc/stmt.c bc30d60d55e70d0133f10ac6103fe9336543f673740b73946f98758a2bb16dd7
 F ext/misc/templatevtab.c 8a16a91a5ceaccfcbd6aaaa56d46828806e460dd194965b3f77bf38f14b942c4
 F ext/misc/totype.c fa4aedeb07f66169005dffa8de3b0a2b621779fd44f85c103228a42afa71853b
@@ -2069,8 +2069,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P f9fafc941370f805f6656ac13543333b36ee52f1ad44c891252b99a74bd2ddf4
-R 13b333dcd3a954934aa61cae7736d907
+P eac135fd6a5dd220a0f7c1b61f987bbd801faabdb76846c4417fef0dd03fcb87
+R 99e97b5c1ed332ad2978f8ea2c2fcf8e
 U larrybr
-Z e197ed57510f5e2c70c6fd470a2fe8d3
+Z ebace40712668be3208071b1f9005e7b
 # Remove this line to create a well-formed Fossil manifest.
index c38dac3a1a5625cb71bbf31e3d6616c5b36a71bc..d205d3fc136e73d918814864c88b183b81aa207f 100644 (file)
@@ -1 +1 @@
-eac135fd6a5dd220a0f7c1b61f987bbd801faabdb76846c4417fef0dd03fcb87
\ No newline at end of file
+eda84dcffee6016fb3f8588d96c7ffb6275edd626b11f6fe12e81be90226c7d8
\ No newline at end of file