]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a problem on windows sometimes causing SQLITE_NOMEM to be returned if an error...
authordan <Dan Kennedy>
Thu, 27 Apr 2023 13:55:29 +0000 (13:55 +0000)
committerdan <Dan Kennedy>
Thu, 27 Apr 2023 13:55:29 +0000 (13:55 +0000)
FossilOrigin-Name: c22a39a6b28e3039fe453c0c0db98744b8a63ef9063cc3f6e0ed67d2506d34be

manifest
manifest.uuid
src/os_win.c

index c941ae48fb2c938f74b93cddc409c94ece107fac..38d256268887b02f75d396821c97c8230241c1e3 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sa\stypo\sin\sa\sprintf()\sformat\sstring\sthe\ssessions\smodule.
-D 2023-04-26T18:50:49.563
+C Fix\sa\sproblem\son\swindows\ssometimes\scausing\sSQLITE_NOMEM\sto\sbe\sreturned\sif\san\serror\soccurred\swhile\sopening\sa\stemp\sfile.
+D 2023-04-27T13:55:29.757
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -618,7 +618,7 @@ F src/os_common.h 6c0eb8dd40ef3e12fe585a13e709710267a258e2c8dd1c40b1948a1d14582e
 F src/os_kv.c 4d39e1f1c180b11162c6dc4aa8ad34053873a639bac6baae23272fc03349986a
 F src/os_setup.h 6011ad7af5db4e05155f385eb3a9b4470688de6f65d6166b8956e58a3d872107
 F src/os_unix.c 1b3ddb7814c4bf37f494c04d2ab30c1ced5b2c927267e1930ce7cd388787a96d
-F src/os_win.c 295fe45f18bd86f2477f4cd79f3377c6f883ceb941b1f46808665c73747f2345
+F src/os_win.c 20c2f020b54fe6ae210c1f200efc097ac50e7e7b24f64c632c1b751ac1f96899
 F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a
 F src/pager.c 9d36ddedc842e993c88c222ed914822dbd6f8ece3c648fde04468637012a034a
 F src/pager.h f82e9844166e1585f5786837ddc7709966138ced17f568c16af7ccf946c2baa3
@@ -2060,8 +2060,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 3e2da8a7e35c839128d26aac575605e1e34889e8ab3484440bdd65c4d752c6bb
-R 4e23a1ec1e088b34c19a8052565eac29
+P 14d1c4a828660bc137dcea1bb4cc439e1ed3872867a0dab486f6a639ef3bcc45
+R 1e3870610983faacb84c1d55e8f701dd
 U dan
-Z 09bae246348989754f2af6790026c07b
+Z ef68dfd966e00e89b716183914f3d8f9
 # Remove this line to create a well-formed Fossil manifest.
index 6ee1d6b0d813238465907bf260d3bef8edb9f01c..ff4ed9d11eab6537181471b9c7fdb8c4e7698a65 100644 (file)
@@ -1 +1 @@
-14d1c4a828660bc137dcea1bb4cc439e1ed3872867a0dab486f6a639ef3bcc45
\ No newline at end of file
+c22a39a6b28e3039fe453c0c0db98744b8a63ef9063cc3f6e0ed67d2506d34be
\ No newline at end of file
index abecf1b93667f33c9bb8fc9a088f98106c0808fa..33275113adf5b270f87b96253ff65646745aa3b5 100644 (file)
@@ -5197,7 +5197,7 @@ static int winOpen(
       if( isReadWrite ){
         int rc2, isRO = 0;
         sqlite3BeginBenignMalloc();
-        rc2 = winAccess(pVfs, zName, SQLITE_ACCESS_READ, &isRO);
+        rc2 = winAccess(pVfs, zUtf8Name, SQLITE_ACCESS_READ, &isRO);
         sqlite3EndBenignMalloc();
         if( rc2==SQLITE_OK && isRO ) break;
       }
@@ -5214,7 +5214,7 @@ static int winOpen(
       if( isReadWrite ){
         int rc2, isRO = 0;
         sqlite3BeginBenignMalloc();
-        rc2 = winAccess(pVfs, zName, SQLITE_ACCESS_READ, &isRO);
+        rc2 = winAccess(pVfs, zUtf8Name, SQLITE_ACCESS_READ, &isRO);
         sqlite3EndBenignMalloc();
         if( rc2==SQLITE_OK && isRO ) break;
       }
@@ -5234,7 +5234,7 @@ static int winOpen(
       if( isReadWrite ){
         int rc2, isRO = 0;
         sqlite3BeginBenignMalloc();
-        rc2 = winAccess(pVfs, zName, SQLITE_ACCESS_READ, &isRO);
+        rc2 = winAccess(pVfs, zUtf8Name, SQLITE_ACCESS_READ, &isRO);
         sqlite3EndBenignMalloc();
         if( rc2==SQLITE_OK && isRO ) break;
       }
@@ -5453,6 +5453,11 @@ static int winAccess(
   void *zConverted;
   UNUSED_PARAMETER(pVfs);
 
+  if( zFilename==0 ){
+    *pResOut = 0;
+    return SQLITE_OK;
+  }
+
   SimulateIOError( return SQLITE_IOERR_ACCESS; );
   OSTRACE(("ACCESS name=%s, flags=%x, pResOut=%p\n",
            zFilename, flags, pResOut));