]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Improvement to check-in [7405e98225761180] so that missing or null filenames
authordrh <drh@noemail.net>
Fri, 3 Jan 2020 16:38:54 +0000 (16:38 +0000)
committerdrh <drh@noemail.net>
Fri, 3 Jan 2020 16:38:54 +0000 (16:38 +0000)
given to the zipfile extension throw an immediate error.

FossilOrigin-Name: 523e09bd228750fb7be1d4e68d18f6c1bf9db19293d66fbf30b86409321e9814

ext/misc/zipfile.c
manifest
manifest.uuid
test/zipfile.test

index ef02d88d172547cbeb6b66fa6ac589f2c981bacf..ac56ac2e5543d1b62db4f8e09e40645fffb386c2 100644 (file)
@@ -1444,7 +1444,10 @@ static int zipfileBegin(sqlite3_vtab *pVtab){
   int rc = SQLITE_OK;
 
   assert( pTab->pWriteFd==0 );
-  if( pTab->zFile==0 ) return SQLITE_OK;
+  if( pTab->zFile==0 || pTab->zFile[0]==0 ){
+    pTab->base.zErrMsg = sqlite3_mprintf("zipfile: missing filename");
+    return SQLITE_ERROR;
+  }
 
   /* Open a write fd on the file. Also load the entire central directory
   ** structure into memory. During the transaction any new file data is 
index db821fe11889f3b9c0d5da0748114b5a65c50546..d168aa34fa6961632736d17b83667b9f9bf8b9df 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Improve\sa\sspecific\scase\sof\searly\sdatabase\scorruption\sdectecion\sin\sthe\sb-tree\slayer.
-D 2020-01-03T15:51:23.987
+C Improvement\sto\scheck-in\s[7405e98225761180]\sso\sthat\smissing\sor\snull\sfilenames\ngiven\sto\sthe\szipfile\sextension\sthrow\san\simmediate\serror.
+D 2020-01-03T16:38:54.215
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -325,7 +325,7 @@ F ext/misc/vfsstat.c 77b5b4235c9f7f11eddf82487c0a422944ac2f132dafd5af3be7a68a057
 F ext/misc/vtablog.c 5538acd0c8ddaae372331bee11608d76973436b77d6a91e8635cfc9432fba5ae
 F ext/misc/vtshim.c 1976e6dd68dd0d64508c91a6dfab8e75f8aaf6cd
 F ext/misc/wholenumber.c 784b12543d60702ebdd47da936e278aa03076212
-F ext/misc/zipfile.c 442bd056690ceb82a125f2be53738c721357612b3ba5d9249220d4c1f85b2e3a
+F ext/misc/zipfile.c 529c6e962e7dd39aa6f6aa6859f8c86af8af36833de270f27fa60135bb16c5d9
 F ext/misc/zorder.c b0ff58fa643afa1d846786d51ea8d5c4b6b35aa0254ab5a82617db92f3adda64
 F ext/rbu/rbu.c 8681f6157db6adc82c34af24b14ea8a3be0146ad2a3b6c1d5da6cb8a5796c8ce
 F ext/rbu/rbu1.test 221d9c18a5e600ac9ac6b1810d99d9f99163a7909ba61597876ab6e4d4beb3d6
@@ -1749,7 +1749,7 @@ F test/wordcount.c d721a4b6fae93e6e33449700bce1686bc23257c27425bc3ef1599dc912ade
 F test/writecrash.test f1da7f7adfe8d7f09ea79b42e5ca6dcc41102f27f8e334ad71539501ddd910cc
 F test/zeroblob.test 07a5b11ab591d1f26c626945fb7f228f68b993533b2ada77273edf6ee29db174
 F test/zerodamage.test 9c41628db7e8d9e8a0181e59ea5f189df311a9f6ce99cc376dc461f66db6f8dc
-F test/zipfile.test 42603fac7f7d6fdb3e8690da9fd1492b89b2325b3946fcff683cc88437d84ce4
+F test/zipfile.test 429cb81c518487fa1b644b6b04b6e9af704a4fa767bd1a110204c5f03b2e8616
 F test/zipfile2.test 9903388a602a3834189857a985106ff95c3bba6a3969e0134127df991889db5d
 F test/zipfilefault.test 44d4d7a7f7cca7521d569d7f71026b241d65a6b1757aa409c1a168827edbbc2c
 F tool/GetFile.cs 47852aa0d806fe47ed1ac5138bdce7f000fe87aaa7f28107d0cb1e26682aeb44
@@ -1853,7 +1853,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 536e9a9d1bd514056ecbc8172ed58f2656a86f791a15e526ae2e5f2c93687b6a
-R 5034281e9502ec9b8092694aa4b88875
-U dan
-Z 044fe5775f5fd5cc5d292b92cda36dc8
+P ceacc28b035803342764f9b696c1e80edcd259b87ea4fb46f92963d6cb33de3e
+R b1b114b0553a0e4f445e7455b465ab9e
+U drh
+Z 0a4493657ad671889aa7ad8712c9a995
index 5f41ad5ccdea098b71f474029b4a8a7bea067957..66e080cf259fef471883a4c14ee21c2de24a3be5 100644 (file)
@@ -1 +1 @@
-ceacc28b035803342764f9b696c1e80edcd259b87ea4fb46f92963d6cb33de3e
\ No newline at end of file
+523e09bd228750fb7be1d4e68d18f6c1bf9db19293d66fbf30b86409321e9814
\ No newline at end of file
index da853e0aed55d98f222b432cfe831f25e2745588..79298a050697fb9b9323b6593ceebef5628bc71f 100644 (file)
@@ -838,7 +838,9 @@ do_execsql_test 15.20 {
 #
 do_catchsql_test 16.10 {
   DELETE FROM zipfile;
-} {1 {zipfile() function requires an argument}}
-
+} {1 {zipfile: missing filename}}
+do_catchsql_test 16.20 {
+  REPLACE INTO zipfile VALUES(null,null,null,null,null,123,null);
+} {1 {zipfile: missing filename}}
 
 finish_test