From: drh <> Date: Thu, 5 Jan 2023 01:29:59 +0000 (+0000) Subject: In the zipvfile extension (which is not part of the SQLite amalgamation, but X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0ac784440d95318c31304daa99dedc98c5db63a3;p=thirdparty%2Fsqlite.git In the zipvfile extension (which is not part of the SQLite amalgamation, but which is included in the CLI by default) ensure that fopen() is not invoked using a NULL filename. Fix for the issue reported by [forum:/forumpost/d1c96a9032e564f8|forum post d1c96a9032e564f8]. FossilOrigin-Name: e4de5777578d27aede463c1e2c2437249e3ab7194401266473587572e0f203a5 --- diff --git a/ext/misc/zipfile.c b/ext/misc/zipfile.c index f818fbc11c..67419b9cb1 100644 --- a/ext/misc/zipfile.c +++ b/ext/misc/zipfile.c @@ -1280,7 +1280,7 @@ static int zipfileFilter( } if( 0==pTab->pWriteFd && 0==bInMemory ){ - pCsr->pFile = fopen(zFile, "rb"); + pCsr->pFile = zFile ? fopen(zFile, "rb") : 0; if( pCsr->pFile==0 ){ zipfileCursorErr(pCsr, "cannot open file: %s", zFile); rc = SQLITE_ERROR; diff --git a/manifest b/manifest index 1d84279529..94f9397816 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Version\s3.40.1 -D 2022-12-28T14:03:47.023 +C In\sthe\szipvfile\sextension\s(which\sis\snot\spart\sof\sthe\sSQLite\samalgamation,\sbut\nwhich\sis\sincluded\sin\sthe\sCLI\sby\sdefault)\sensure\sthat\sfopen()\sis\snot\sinvoked\nusing\sa\sNULL\sfilename.\s\sFix\sfor\sthe\sissue\sreported\sby\n[forum:/forumpost/d1c96a9032e564f8|forum\spost\sd1c96a9032e564f8]. +D 2023-01-05T01:29:59.413 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -338,7 +338,7 @@ F ext/misc/vfsstat.c 474d08efc697b8eba300082cb1eb74a5f0f3df31ed257db1cb07e72ab0e F ext/misc/vtablog.c 5538acd0c8ddaae372331bee11608d76973436b77d6a91e8635cfc9432fba5ae F ext/misc/vtshim.c 1976e6dd68dd0d64508c91a6dfab8e75f8aaf6cd F ext/misc/wholenumber.c a838d1bea913c514ff316c69695efbb49ea3b8cb37d22afc57f73b6b010b4546 -F ext/misc/zipfile.c 22afe121d1a5e318453b7cdbc0f5492161d2fd4fce548ff3605da05e89be7140 +F ext/misc/zipfile.c 928ccb773dd5d2bb79ee1b26fd28786b2ba94b49bae7e6dda14e3d81aacf5e41 F ext/misc/zorder.c b0ff58fa643afa1d846786d51ea8d5c4b6b35aa0254ab5a82617db92f3adda64 F ext/rbu/rbu.c 801450b24eaf14440d8fd20385aacc751d5c9d6123398df41b1b5aa804bf4ce8 F ext/rbu/rbu1.test c62904bd9526dcdc3496a21199aaf14ae191bbadbf67f076bf16be6b3f2115c2 @@ -1947,7 +1947,7 @@ F test/writecrash.test f1da7f7adfe8d7f09ea79b42e5ca6dcc41102f27f8e334ad71539501d F test/zeroblob.test 7b74cefc7b281dfa2b07cd237987fbe94b4a2037a7771e9e83f2d5f608b1d99e F test/zeroblobfault.test 861d8191a0d944dfebb3cb4d2c5b4e46a5a119eaec5a63dd996c2389f8063441 F test/zerodamage.test 9c41628db7e8d9e8a0181e59ea5f189df311a9f6ce99cc376dc461f66db6f8dc -F test/zipfile.test 0d8758d8c0d63f16644f959689f78969d223789d998964276554039f067b4548 +F test/zipfile.test 4178a2de98739e9adac41cb8f0be5553df060e470c846f51fdbed247117728a7 F test/zipfile2.test 9903388a602a3834189857a985106ff95c3bba6a3969e0134127df991889db5d F test/zipfilefault.test 44d4d7a7f7cca7521d569d7f71026b241d65a6b1757aa409c1a168827edbbc2c F tool/GetFile.cs 47852aa0d806fe47ed1ac5138bdce7f000fe87aaa7f28107d0cb1e26682aeb44 @@ -2055,10 +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 ff1d456161e57314b0bb4e2e720eb1cd00f71b4bf4c459fad9fef4f11d38c19f -R 3583cb8fddea8cad93eaac66eb583e8a -T +sym-release * -T +sym-version-3.40.1 * +P df5c253c0b3dd24916e4ec7cf77d3db5294cc9fd45ae7b9c5e82ad8197f38a24 +Q +d32757ddf5d311b6f62545c861fd606244e03f02cb2e317c1131ee6b80c2299c +R 3d7237749ed53b9ce118253c7e57e529 U drh -Z dd3aba06a636bceff5c4750b57949095 +Z 69d1cfe98c8a582b6ba49dfa0533bd73 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index 236e67e083..8da6503ba6 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -df5c253c0b3dd24916e4ec7cf77d3db5294cc9fd45ae7b9c5e82ad8197f38a24 \ No newline at end of file +e4de5777578d27aede463c1e2c2437249e3ab7194401266473587572e0f203a5 \ No newline at end of file diff --git a/test/zipfile.test b/test/zipfile.test index 8749f17c38..8b862ae84c 100644 --- a/test/zipfile.test +++ b/test/zipfile.test @@ -853,6 +853,14 @@ do_execsql_test 17.1 { ) SELECT DISTINCT typeof(zipfile(0,0,x,0)) FROM vlist; } {blob} - + +# 2023-01-04 +# https://sqlite.org/forum/forumpost/d1c96a9032e564f8 +# Call to fopen() with a NULL filename. +# +do_catchsql_test 18.1 { + SELECT * FROM zipfile(NULL); +} {1 {cannot open file: }} + finish_test