]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add OOM check, per tip at [forum:/forumpost/933479b2d5|forum post 933479b2d5] branch-3.40
authordrh <>
Sat, 14 Jan 2023 19:36:47 +0000 (19:36 +0000)
committerdrh <>
Sat, 14 Jan 2023 19:36:47 +0000 (19:36 +0000)
FossilOrigin-Name: c66c7734feceb6ee9ae079df4fa4d078891d9e5fe6a44a2acfc482598a7176b8

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 d712858a54f640c749bb0efc3cb80bd789f9618d..499a32b5d70ef3da52edd0093b647f855e8632a7 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C In\sexpression\snodes\sof\stype\sREGISTER\swith\ssub-type\sCOLUMN,\sensure\sthat\sthe\niColumn\sfield\sis\sset\scorrectly,\sas\sotherwise\sthe\s"IS\sNULL"\soperator\smight\nbe\sincorrectly\soptimized.\s\sFix\sfor\sthe\sproblem\sdescribed\sby\s\n[forum:/forumpost/d010a26798915b53|forum\spost\sd010a26798915b53].
-D 2023-01-13T19:32:19.795
+C Add\sOOM\scheck,\sper\stip\sat\s[forum:/forumpost/933479b2d5|forum\spost\s933479b2d5]
+D 2023-01-14T19:36:47.008
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -325,7 +325,7 @@ F ext/misc/sha1.c 4011aef176616872b2a0d5bccf0ecfb1f7ce3fe5c3d107f3a8e949d8e1e3f0
 F ext/misc/shathree.c 7b17615869a495659f1569ada1d8d3d21b4a24614f2746d93cc87ef7c0b6b36d
 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 ed05ad78013edccd43f4fc33d8244001f6f886eb2dfd2106ba33616ac514c6fb
 F ext/misc/templatevtab.c 8a16a91a5ceaccfcbd6aaaa56d46828806e460dd194965b3f77bf38f14b942c4
 F ext/misc/totype.c fa4aedeb07f66169005dffa8de3b0a2b621779fd44f85c103228a42afa71853b
@@ -2055,9 +2055,9 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 4f512a39afe14cb46574a2bc900440ef1ab86e2a3c2a74cee3aa37715cd0c097
-Q +0819a1869a39d54a405259ea323365506a182962a02affdef16a03446005da64
-R c867d2a5fdc3b214a2e504ba23436566
+P 76b440c588e9fb267ad05c21daba2eeef980d99a8b5e27ccc454804ac9144f55
+Q +eda84dcffee6016fb3f8588d96c7ffb6275edd626b11f6fe12e81be90226c7d8
+R 90666a1f77ac2fb334be69c714232fbf
 U drh
-Z 2155924e12563d046876f91d02d33b43
+Z 733ed5f2b0b268d9e2b43c43a0e1f5d9
 # Remove this line to create a well-formed Fossil manifest.
index 33c73202e4612b782200fc84da7a1e9ad0150b66..06b0ce5ab1a7f65ad3e1dd0a918d3da4d4400de3 100644 (file)
@@ -1 +1 @@
-76b440c588e9fb267ad05c21daba2eeef980d99a8b5e27ccc454804ac9144f55
\ No newline at end of file
+c66c7734feceb6ee9ae079df4fa4d078891d9e5fe6a44a2acfc482598a7176b8
\ No newline at end of file