From: drh <> Date: Sat, 23 Oct 2021 22:11:18 +0000 (+0000) Subject: Provide an assert() to fire for applications that should never open or create X-Git-Tag: version-3.37.0~99 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f81b40a52d94b619be842c1758358dd886d7a8a0;p=thirdparty%2Fsqlite.git Provide an assert() to fire for applications that should never open or create a disk-based database file. FossilOrigin-Name: 5218ac788ca35fdd7f98117758f0bef9d55fe7517098e7bf62fda3fed2af3d51 --- diff --git a/manifest b/manifest index 9ca05fe881..04feaa7df9 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C The\spager\snow\sremembers\swhen\sa\sVFS\sreports\sthat\sa\sdatabase\sfile\sis\nSQLITE_OPEN_MEMORY\sand\streats\sthat\sdatabase\sas\san\sin-memory\sdatabase. -D 2021-10-23T20:32:27.236 +C Provide\san\sassert()\sto\sfire\sfor\sapplications\sthat\sshould\snever\sopen\sor\screate\na\sdisk-based\sdatabase\sfile. +D 2021-10-23T22:11:18.414 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -533,7 +533,7 @@ F src/os.c 91fc69f95ef0528368174dca20f01e1d8f82934f719e1cb50fd0260b18c028a6 F src/os.h 26890f540b475598cd9881dcc68931377b8d429d3ea3e2eeb64470cde64199f8 F src/os_common.h b2f4707a603e36811d9b1a13278bffd757857b85 F src/os_setup.h 0dbaea40a7d36bf311613d31342e0b99e2536586 -F src/os_unix.c feac74a0ba7652c405ba30f61d9e738be717d15899f2915a129ef160a3e5b26b +F src/os_unix.c f445ad0597184e27f225bfc3d327dee32b49f7918d6eda9c921369b5060d96ef F src/os_win.c 77d39873836f1831a9b0b91894fec45ab0e9ca8e067dc8c549e1d1eca1566fe9 F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a F src/pager.c bc10c191d18bffd3d76eda5f162799e43a9f875ecfe7c4869f752e2ddef87ea2 @@ -1929,7 +1929,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 5ee14715a561d7522e9c6fd35a2ad3e6de526450025a99d2a523c2b27151be4f -R d561d8148c02fd21a733d83483d3f438 +P 967b65623807ff992869da0a7d9b0105701939c4658a7aee37a30fb267869c6d +R a9ff94845a8cffbce47542363f26ab35 U drh -Z 751678e6ce28d48782acb94cc1b3fb72 +Z 2501f234de757bdac4c4fa55bb7c36cf diff --git a/manifest.uuid b/manifest.uuid index 86786e4483..f3919a049f 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -967b65623807ff992869da0a7d9b0105701939c4658a7aee37a30fb267869c6d \ No newline at end of file +5218ac788ca35fdd7f98117758f0bef9d55fe7517098e7bf62fda3fed2af3d51 \ No newline at end of file diff --git a/src/os_unix.c b/src/os_unix.c index d45fdabab2..bc6063dae8 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -6125,6 +6125,11 @@ static int unixOpen( } memset(p, 0, sizeof(unixFile)); +#ifdef SQLITE_ASSERT_NO_FILES + /* Applications that never read or write a persistent disk files */ + assert( zName==0 ); +#endif + if( eType==SQLITE_OPEN_MAIN_DB ){ UnixUnusedFd *pUnused; pUnused = findReusableFd(zName, flags);