From 8df014979e9c0a113bc38145d84ca986b2e30934 Mon Sep 17 00:00:00 2001 From: drh <> Date: Thu, 18 Mar 2021 14:36:19 +0000 Subject: [PATCH] Fix the dbsqlfuzz-derived authorizer in fuzzcheck to avoid creating junk files when running rogue tests. FossilOrigin-Name: eca21a620630b0c8d21a91ad6a8760a6c87270ab2a45cafa18bd31b305c53dba --- manifest | 12 ++++++------ manifest.uuid | 2 +- test/fuzzcheck.c | 18 ++++++++++-------- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/manifest b/manifest index 2666dd2219..2842a63692 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sa\sproblem\swith\sthe\sfilename\snormalizer\sin\sunix,\sdiscovered\sby\sdbsqlfuzz. -D 2021-03-18T13:55:25.762 +C Fix\sthe\sdbsqlfuzz-derived\sauthorizer\sin\sfuzzcheck\sto\savoid\screating\sjunk\nfiles\swhen\srunning\srogue\stests. +D 2021-03-18T14:36:19.107 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -1045,7 +1045,7 @@ F test/fuzz3.test 9c813e6613b837cb7a277b0383cd66bfa07042b4cf0317157c35852f30043c F test/fuzz4.test c229bcdb45518a89e1d208a21343e061503460ac69fae1539320a89f572eb634 F test/fuzz_common.tcl b7197de6ed1ee8250a4f82d67876f4561b42ee8cbbfc6160dcb66331bad3f830 F test/fuzz_malloc.test f348276e732e814802e39f042b1f6da6362a610af73a528d8f76898fde6b22f2 -F test/fuzzcheck.c 8f83829e6c4da26abf6aded7fe9f04e56d46a418c8d7b8b67e14cf6f2ee0a25c +F test/fuzzcheck.c 772110a59c6f839f95e49a9fd3e5f855bd9cbb90e9d366a6ccd15cb3616fc631 F test/fuzzdata1.db d36e88741b4f23bcbaaf55b006290669d03c6c891cf13c7b3a53bc1b097b693f F test/fuzzdata2.db 128b3feeb78918d075c9b14b48610145a0dd4c8d6f1ca7c2870c7e425f5bf31f F test/fuzzdata3.db c6586d3e3cef0fbc18108f9bb649aa77bfc38aba @@ -1910,7 +1910,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 a8ce73e2573b271d5d45838802ed1905ce5e18d5fafe0078700e79fab85457e2 -R a7058bc81a7ed447b3fd897044acb8b9 +P ff1eca7fcdcbc550a5f23db9d85281e5373500912699a7c7ae54bc0df0547e26 +R e02544653902282c973fe57144348e27 U drh -Z 7bd33555fc5d9a28891bb4e7f995247b +Z a256c4c094c08cccb9232d4f40769c58 diff --git a/manifest.uuid b/manifest.uuid index a1d115b8af..453d41bd72 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -ff1eca7fcdcbc550a5f23db9d85281e5373500912699a7c7ae54bc0df0547e26 \ No newline at end of file +eca21a620630b0c8d21a91ad6a8760a6c87270ab2a45cafa18bd31b305c53dba \ No newline at end of file diff --git a/test/fuzzcheck.c b/test/fuzzcheck.c index b1117ce378..cb8509e23a 100644 --- a/test/fuzzcheck.c +++ b/test/fuzzcheck.c @@ -735,7 +735,7 @@ static int progress_handler(void *pClientData) { ** "PRAGMA parser_trace" since they can dramatically increase the ** amount of output without actually testing anything useful. ** -** Also block ATTACH and DETACH +** Also block ATTACH if attaching a file from the filesystem. */ static int block_troublesome_sql( void *Notused, @@ -750,13 +750,15 @@ static int block_troublesome_sql( (void)zArg3; (void)zArg4; if( eCode==SQLITE_PRAGMA ){ - if( sqlite3_strnicmp("vdbe_", zArg1, 5)==0 - || sqlite3_stricmp("parser_trace", zArg1)==0 - || sqlite3_stricmp("temp_store_directory", zArg1)==0 - ){ - return SQLITE_DENY; - } - if( sqlite3_stricmp("oom",zArg1)==0 && zArg2!=0 && zArg2[0]!=0 ){ + if( eVerbosity==0 ){ + if( sqlite3_strnicmp("vdbe_", zArg1, 5)==0 + || sqlite3_stricmp("parser_trace", zArg1)==0 + || sqlite3_stricmp("temp_store_directory", zArg1)==0 + ){ + return SQLITE_DENY; + } + }else if( sqlite3_stricmp("oom",zArg1)==0 + && zArg2!=0 && zArg2[0]!=0 ){ oomCounter = atoi(zArg2); } }else if( eCode==SQLITE_ATTACH ){ -- 2.47.2