Prevent users from creating zipfile() virtual tables without an argument.

FossilOrigin-Name: 81fdbe0cc5a360f818078d47a5888d0a29d555927da279a9a0213702d74ef09a
This commit is contained in:
dan
2018-01-30 14:07:55 +00:00
parent ea4125bbef
commit fdcd9d4e6c
4 changed files with 31 additions and 98 deletions
+8 -18
View File
@@ -358,24 +358,14 @@ do_catchsql_test 3.2 {
} {1 {no such column: rowid}}
#-------------------------------------------------------------------------
reset_db
forcedelete test.zip
load_static_extension db zipfile
do_execsql_test 4.0 {
CREATE VIRTUAL TABLE x2 USING zipfile();
INSERT INTO x2(name, data) VALUES('dir1/', NULL);
INSERT INTO x2(name, data) VALUES('file1', '1234');
INSERT INTO x2(name, data) VALUES('dir1/file2', '5678');
SELECT name, data FROM x2
} {
dir1/ {} file1 1234 dir1/file2 5678
}
do_test 4.1 {
set data [db one {SELECT zipfile_blob(z) FROM x2 LIMIT 1}]
db eval { SELECT name, data FROM zipfile($data) }
} {dir1/ {} file1 1234 dir1/file2 5678}
# Test some error conditions.
#
do_catchsql_test 4.1 {
CREATE VIRTUAL TABLE yyy USING zipfile();
} {1 {zipfile constructor requires one argument}}
do_catchsql_test 4.2 {
CREATE VIRTUAL TABLE yyy USING zipfile('test.zip', 'test.zip');
} {1 {zipfile constructor requires one argument}}