mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-29 08:01:23 +03:00
Enhance fuzzcheck.c to accept database-specific configuration parameters in
the option CONFIG table. Add the fuzzdata5.db fuzz database containing test cases from OSS-FUZZ. FossilOrigin-Name: a71fad4538311ede111815d221d9eb8d9018092b
This commit is contained in:
14
Makefile.in
14
Makefile.in
@ -550,7 +550,8 @@ FUZZDATA = \
|
|||||||
$(TOP)/test/fuzzdata1.db \
|
$(TOP)/test/fuzzdata1.db \
|
||||||
$(TOP)/test/fuzzdata2.db \
|
$(TOP)/test/fuzzdata2.db \
|
||||||
$(TOP)/test/fuzzdata3.db \
|
$(TOP)/test/fuzzdata3.db \
|
||||||
$(TOP)/test/fuzzdata4.db
|
$(TOP)/test/fuzzdata4.db \
|
||||||
|
$(TOP)/test/fuzzdata5.db
|
||||||
|
|
||||||
# Standard options to testfixture
|
# Standard options to testfixture
|
||||||
#
|
#
|
||||||
@ -563,7 +564,8 @@ SHELL_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS4
|
|||||||
SHELL_OPT += -DSQLITE_ENABLE_EXPLAIN_COMMENTS
|
SHELL_OPT += -DSQLITE_ENABLE_EXPLAIN_COMMENTS
|
||||||
SHELL_OPT += -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
|
SHELL_OPT += -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION
|
||||||
FUZZERSHELL_OPT = -DSQLITE_ENABLE_JSON1
|
FUZZERSHELL_OPT = -DSQLITE_ENABLE_JSON1
|
||||||
FUZZCHECK_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5
|
FUZZCHECK_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5 -DSQLITE_OSS_FUZZ
|
||||||
|
FUZZCHECK_SRC = $(TOP)/test/fuzzcheck.c $(TOP)/test/ossfuzz.c
|
||||||
|
|
||||||
# This is the default Makefile target. The objects listed here
|
# This is the default Makefile target. The objects listed here
|
||||||
# are what get build when you type just "make" with no arguments.
|
# are what get build when you type just "make" with no arguments.
|
||||||
@ -612,8 +614,11 @@ fuzzershell$(TEXE): $(TOP)/tool/fuzzershell.c sqlite3.c sqlite3.h
|
|||||||
$(LTLINK) -o $@ $(FUZZERSHELL_OPT) \
|
$(LTLINK) -o $@ $(FUZZERSHELL_OPT) \
|
||||||
$(TOP)/tool/fuzzershell.c sqlite3.c $(TLIBS)
|
$(TOP)/tool/fuzzershell.c sqlite3.c $(TLIBS)
|
||||||
|
|
||||||
fuzzcheck$(TEXE): $(TOP)/test/fuzzcheck.c sqlite3.c sqlite3.h
|
fuzzcheck$(TEXE): $(FUZZCHECK_SRC) sqlite3.c sqlite3.h
|
||||||
$(LTLINK) -o $@ $(FUZZCHECK_OPT) $(TOP)/test/fuzzcheck.c sqlite3.c $(TLIBS)
|
$(LTLINK) -o $@ $(FUZZCHECK_OPT) $(FUZZCHECK_SRC) sqlite3.c $(TLIBS)
|
||||||
|
|
||||||
|
ossshell$(TEXE): $(TOP)/test/ossfuzz.c $(TOP)/test/ossshell.c sqlite3.c sqlite3.h
|
||||||
|
$(LTLINK) -o $@ $(FUZZCHECK_OPT) $(TOP)/test/ossshell.c sqlite3.c sqlite3.h $(TLIBS)
|
||||||
|
|
||||||
mptester$(TEXE): sqlite3.lo $(TOP)/mptest/mptest.c
|
mptester$(TEXE): sqlite3.lo $(TOP)/mptest/mptest.c
|
||||||
$(LTLINK) -o $@ -I. $(TOP)/mptest/mptest.c sqlite3.lo \
|
$(LTLINK) -o $@ -I. $(TOP)/mptest/mptest.c sqlite3.lo \
|
||||||
@ -1103,6 +1108,7 @@ fastfuzztest: fuzzcheck$(TEXE) $(FUZZDATA)
|
|||||||
valgrindfuzz: fuzzcheck$(TEXT) $(FUZZDATA)
|
valgrindfuzz: fuzzcheck$(TEXT) $(FUZZDATA)
|
||||||
valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M --timeout 600 $(FUZZDATA)
|
valgrind ./fuzzcheck$(TEXE) --cell-size-check --limit-mem 10M --timeout 600 $(FUZZDATA)
|
||||||
|
|
||||||
|
|
||||||
# Minimal testing that runs in less than 3 minutes
|
# Minimal testing that runs in less than 3 minutes
|
||||||
#
|
#
|
||||||
quicktest: ./testfixture$(TEXE)
|
quicktest: ./testfixture$(TEXE)
|
||||||
|
14
Makefile.msc
14
Makefile.msc
@ -1479,7 +1479,8 @@ FUZZDATA = \
|
|||||||
$(TOP)\test\fuzzdata1.db \
|
$(TOP)\test\fuzzdata1.db \
|
||||||
$(TOP)\test\fuzzdata2.db \
|
$(TOP)\test\fuzzdata2.db \
|
||||||
$(TOP)\test\fuzzdata3.db \
|
$(TOP)\test\fuzzdata3.db \
|
||||||
$(TOP)\test\fuzzdata4.db
|
$(TOP)\test\fuzzdata4.db \
|
||||||
|
$(TOP)\test\fuzzdata5.db
|
||||||
# <</mark>>
|
# <</mark>>
|
||||||
|
|
||||||
# Additional compiler options for the shell. These are only effective
|
# Additional compiler options for the shell. These are only effective
|
||||||
@ -1494,7 +1495,9 @@ SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_SHELL_JSON1 -DSQLITE_ENABLE_
|
|||||||
#
|
#
|
||||||
MPTESTER_COMPILE_OPTS = -DSQLITE_SHELL_JSON1 -DSQLITE_ENABLE_FTS5
|
MPTESTER_COMPILE_OPTS = -DSQLITE_SHELL_JSON1 -DSQLITE_ENABLE_FTS5
|
||||||
FUZZERSHELL_COMPILE_OPTS = -DSQLITE_ENABLE_JSON1
|
FUZZERSHELL_COMPILE_OPTS = -DSQLITE_ENABLE_JSON1
|
||||||
FUZZCHECK_COMPILE_OPTS = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5
|
FUZZCHECK_COMPILE_OPTS = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5 -DSQLITE_OSS_FUZZ
|
||||||
|
FUZZCHECK_SRC = $(TOP)\test\fuzzcheck.c $(TOP)\test\ossfuzz.c
|
||||||
|
OSSSHELL_SRC = $(TOP)\test\ossshell.c $(TOP)\test\ossfuzz.c
|
||||||
|
|
||||||
# Standard options to testfixture.
|
# Standard options to testfixture.
|
||||||
#
|
#
|
||||||
@ -1564,8 +1567,11 @@ sourcetest: srcck1.exe sqlite3.c
|
|||||||
fuzzershell.exe: $(TOP)\tool\fuzzershell.c $(SQLITE3C) $(SQLITE3H)
|
fuzzershell.exe: $(TOP)\tool\fuzzershell.c $(SQLITE3C) $(SQLITE3H)
|
||||||
$(LTLINK) $(NO_WARN) $(FUZZERSHELL_COMPILE_OPTS) $(TOP)\tool\fuzzershell.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
|
$(LTLINK) $(NO_WARN) $(FUZZERSHELL_COMPILE_OPTS) $(TOP)\tool\fuzzershell.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
|
||||||
|
|
||||||
fuzzcheck.exe: $(TOP)\test\fuzzcheck.c $(SQLITE3C) $(SQLITE3H)
|
fuzzcheck.exe: $(FUZZCHECK_SRC) $(SQLITE3C) $(SQLITE3H)
|
||||||
$(LTLINK) $(NO_WARN) $(FUZZCHECK_COMPILE_OPTS) $(TOP)\test\fuzzcheck.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
|
$(LTLINK) $(NO_WARN) $(FUZZCHECK_COMPILE_OPTS) $(FUZZCHECK_SRC) $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
|
||||||
|
|
||||||
|
ossshell.exe: $(OSSSHELL_SRC) $(SQLITE3C) $(SQLITE3H)
|
||||||
|
$(LTLINK) $(NO_WARN) $(FUZZCHECK_COMPILE_OPTS) $(OSSSHELL_SRC) $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
|
||||||
|
|
||||||
mptester.exe: $(TOP)\mptest\mptest.c $(SQLITE3C) $(SQLITE3H)
|
mptester.exe: $(TOP)\mptest\mptest.c $(SQLITE3C) $(SQLITE3H)
|
||||||
$(LTLINK) $(NO_WARN) $(MPTESTER_COMPILE_OPTS) $(TOP)\mptest\mptest.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
|
$(LTLINK) $(NO_WARN) $(MPTESTER_COMPILE_OPTS) $(TOP)\mptest\mptest.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS)
|
||||||
|
3
main.mk
3
main.mk
@ -462,7 +462,8 @@ FUZZDATA = \
|
|||||||
$(TOP)/test/fuzzdata1.db \
|
$(TOP)/test/fuzzdata1.db \
|
||||||
$(TOP)/test/fuzzdata2.db \
|
$(TOP)/test/fuzzdata2.db \
|
||||||
$(TOP)/test/fuzzdata3.db \
|
$(TOP)/test/fuzzdata3.db \
|
||||||
$(TOP)/test/fuzzdata4.db
|
$(TOP)/test/fuzzdata4.db \
|
||||||
|
$(TOP)/test/fuzzdata5.db
|
||||||
|
|
||||||
# Standard options to testfixture
|
# Standard options to testfixture
|
||||||
#
|
#
|
||||||
|
19
manifest
19
manifest
@ -1,8 +1,8 @@
|
|||||||
C Fix\sthe\sossfuzz.c\stest\smodule\sso\sthat\sit\sdoes\snot\ssegfault\safter\sa\n"PRAGMA\sempty_result_callbacks=1;".\s\sAdd\sthe\sossshell.c\sprogram\sfor\nsimple\scommand-line\stesting\sof\sossfuzz.c.
|
C Enhance\sfuzzcheck.c\sto\saccept\sdatabase-specific\sconfiguration\sparameters\sin\nthe\soption\sCONFIG\stable.\s\sAdd\sthe\sfuzzdata5.db\sfuzz\sdatabase\scontaining\ntest\scases\sfrom\sOSS-FUZZ.
|
||||||
D 2016-11-14T17:25:57.150
|
D 2016-11-14T18:27:41.319
|
||||||
F Makefile.in 6fd48ffcf7c2deea7499062d1f3747f986c19678
|
F Makefile.in 6b572807415d3f0a379cebc9461416d8df4a12c8
|
||||||
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
|
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
|
||||||
F Makefile.msc e0217f2d35a0448abbe4b066132ae20136e8b408
|
F Makefile.msc bb4d970894abbbe0e88d00aac29bd52af8bc95f4
|
||||||
F README.md 8ecc12493ff9f820cdea6520a9016001cb2e59b7
|
F README.md 8ecc12493ff9f820cdea6520a9016001cb2e59b7
|
||||||
F VERSION 661b3e6a778cfbfd7bdce8bbb1545b22f4b6f09e
|
F VERSION 661b3e6a778cfbfd7bdce8bbb1545b22f4b6f09e
|
||||||
F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
|
F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
|
||||||
@ -311,7 +311,7 @@ F ext/userauth/userauth.c 5fa3bdb492f481bbc1709fc83c91ebd13460c69e
|
|||||||
F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
|
F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
|
||||||
F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
|
F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
|
||||||
F magic.txt 8273bf49ba3b0c8559cb2774495390c31fd61c60
|
F magic.txt 8273bf49ba3b0c8559cb2774495390c31fd61c60
|
||||||
F main.mk ec15a47504f15b84390d84a376a91397b77d5e15
|
F main.mk 488af8651f927e27f9256e2f20daf63163b2d2eb
|
||||||
F mkso.sh fd21c06b063bb16a5d25deea1752c2da6ac3ed83
|
F mkso.sh fd21c06b063bb16a5d25deea1752c2da6ac3ed83
|
||||||
F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271
|
F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271
|
||||||
F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504
|
F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504
|
||||||
@ -814,11 +814,12 @@ F test/fuzz2.test 76dc35b32b6d6f965259508508abce75a6c4d7e1
|
|||||||
F test/fuzz3.test b47377143f0c80f91ed29d722861077ff34415d5
|
F test/fuzz3.test b47377143f0c80f91ed29d722861077ff34415d5
|
||||||
F test/fuzz_common.tcl a87dfbb88c2a6b08a38e9a070dabd129e617b45b
|
F test/fuzz_common.tcl a87dfbb88c2a6b08a38e9a070dabd129e617b45b
|
||||||
F test/fuzz_malloc.test 328f70aaca63adf29b4c6f06505ed0cf57ca7c26
|
F test/fuzz_malloc.test 328f70aaca63adf29b4c6f06505ed0cf57ca7c26
|
||||||
F test/fuzzcheck.c 984470cee0a35b893ad0377a7de75f0c9a758392
|
F test/fuzzcheck.c 5592b19e07b9061833a35eaf78869ad0c8b6cf33
|
||||||
F test/fuzzdata1.db 7ee3227bad0e7ccdeb08a9e6822916777073c664
|
F test/fuzzdata1.db 7ee3227bad0e7ccdeb08a9e6822916777073c664
|
||||||
F test/fuzzdata2.db f03a420d3b822cc82e4f894ca957618fbe9c4973
|
F test/fuzzdata2.db f03a420d3b822cc82e4f894ca957618fbe9c4973
|
||||||
F test/fuzzdata3.db c6586d3e3cef0fbc18108f9bb649aa77bfc38aba
|
F test/fuzzdata3.db c6586d3e3cef0fbc18108f9bb649aa77bfc38aba
|
||||||
F test/fuzzdata4.db 1882f0055fb63214d8407ddc7aca9b0b1c59af21
|
F test/fuzzdata4.db 1882f0055fb63214d8407ddc7aca9b0b1c59af21
|
||||||
|
F test/fuzzdata5.db b39d6f1b2e6b37789d95e73a291febd5cb5ff779
|
||||||
F test/fuzzer1.test 3d4c4b7e547aba5e5511a2991e3e3d07166cfbb8
|
F test/fuzzer1.test 3d4c4b7e547aba5e5511a2991e3e3d07166cfbb8
|
||||||
F test/fuzzer2.test a85ef814ce071293bce1ad8dffa217cbbaad4c14
|
F test/fuzzer2.test a85ef814ce071293bce1ad8dffa217cbbaad4c14
|
||||||
F test/fuzzerfault.test 8792cd77fd5bce765b05d0c8e01b9edcf8af8536
|
F test/fuzzerfault.test 8792cd77fd5bce765b05d0c8e01b9edcf8af8536
|
||||||
@ -1533,7 +1534,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
|
|||||||
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
||||||
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
||||||
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
||||||
P e211c579b2f092e3283edd5fb9add7c5183bac35
|
P 6f2d43eca68175ed28abae3afa792095af906af2
|
||||||
R f5446ee1d5f38bf5dd192848e11b9c1d
|
R d3c47178caac86bf7a157d9adc36d0a2
|
||||||
U drh
|
U drh
|
||||||
Z e378b2bf2d2ef2294a0668dccb47568a
|
Z 2f0e4ab34b209b49e42001823006ce97
|
||||||
|
@ -1 +1 @@
|
|||||||
6f2d43eca68175ed28abae3afa792095af906af2
|
a71fad4538311ede111815d221d9eb8d9018092b
|
@ -838,10 +838,12 @@ int main(int argc, char **argv){
|
|||||||
int sqlFuzz = 0; /* True for SQL fuzz testing. False for DB fuzz */
|
int sqlFuzz = 0; /* True for SQL fuzz testing. False for DB fuzz */
|
||||||
int iTimeout = 120; /* Default 120-second timeout */
|
int iTimeout = 120; /* Default 120-second timeout */
|
||||||
int nMem = 0; /* Memory limit */
|
int nMem = 0; /* Memory limit */
|
||||||
|
int nMemThisDb = 0; /* Memory limit set by the CONFIG table */
|
||||||
char *zExpDb = 0; /* Write Databases to files in this directory */
|
char *zExpDb = 0; /* Write Databases to files in this directory */
|
||||||
char *zExpSql = 0; /* Write SQL to files in this directory */
|
char *zExpSql = 0; /* Write SQL to files in this directory */
|
||||||
void *pHeap = 0; /* Heap for use by SQLite */
|
void *pHeap = 0; /* Heap for use by SQLite */
|
||||||
int ossFuzz = 0; /* enable OSS-FUZZ testing */
|
int ossFuzz = 0; /* enable OSS-FUZZ testing */
|
||||||
|
int ossFuzzThisDb = 0; /* ossFuzz value for this particular database */
|
||||||
|
|
||||||
iBegin = timeOfDay();
|
iBegin = timeOfDay();
|
||||||
#ifdef __unix__
|
#ifdef __unix__
|
||||||
@ -981,6 +983,34 @@ int main(int argc, char **argv){
|
|||||||
sqlite3_free(zSql);
|
sqlite3_free(zSql);
|
||||||
if( rc ) fatalError("cannot change description: %s", sqlite3_errmsg(db));
|
if( rc ) fatalError("cannot change description: %s", sqlite3_errmsg(db));
|
||||||
}
|
}
|
||||||
|
ossFuzzThisDb = ossFuzz;
|
||||||
|
|
||||||
|
/* If the CONFIG(name,value) table exists, read db-specific settings
|
||||||
|
** from that table */
|
||||||
|
if( sqlite3_table_column_metadata(db,0,"config",0,0,0,0,0,0)==SQLITE_OK ){
|
||||||
|
rc = sqlite3_prepare_v2(db, "SELECT name, value FROM config", -1, &pStmt, 0);
|
||||||
|
if( rc ) fatalError("cannot prepare query of CONFIG table: %s",
|
||||||
|
sqlite3_errmsg(db));
|
||||||
|
while( SQLITE_ROW==sqlite3_step(pStmt) ){
|
||||||
|
const char *zName = (const char *)sqlite3_column_text(pStmt,0);
|
||||||
|
if( zName==0 ) continue;
|
||||||
|
if( strcmp(zName, "oss-fuzz")==0 ){
|
||||||
|
ossFuzzThisDb = sqlite3_column_int(pStmt,1);
|
||||||
|
if( verboseFlag ) printf("Config: oss-fuzz=%d\n", ossFuzzThisDb);
|
||||||
|
}
|
||||||
|
if( strcmp(zName, "limit-mem")==0 ){
|
||||||
|
#if !defined(SQLITE_ENABLE_MEMSYS3) && !defined(SQLITE_ENABLE_MEMSYS5)
|
||||||
|
fatalError("the limit-mem option requires -DSQLITE_ENABLE_MEMSYS5"
|
||||||
|
" or _MEMSYS3");
|
||||||
|
#else
|
||||||
|
nMemThisDb = sqlite3_column_int(pStmt,1);
|
||||||
|
if( verboseFlag ) printf("Config: limit-mem=%d\n", nMemThisDb);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sqlite3_finalize(pStmt);
|
||||||
|
}
|
||||||
|
|
||||||
if( zInsSql ){
|
if( zInsSql ){
|
||||||
sqlite3_create_function(db, "readfile", 1, SQLITE_UTF8, 0,
|
sqlite3_create_function(db, "readfile", 1, SQLITE_UTF8, 0,
|
||||||
readfileFunc, 0, 0);
|
readfileFunc, 0, 0);
|
||||||
@ -1096,13 +1126,13 @@ int main(int argc, char **argv){
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Limit available memory, if requested */
|
/* Limit available memory, if requested */
|
||||||
if( nMem>0 ){
|
if( nMemThisDb>0 ){
|
||||||
sqlite3_shutdown();
|
sqlite3_shutdown();
|
||||||
pHeap = malloc(nMem);
|
pHeap = realloc(pHeap, nMemThisDb);
|
||||||
if( pHeap==0 ){
|
if( pHeap==0 ){
|
||||||
fatalError("failed to allocate %d bytes of heap memory", nMem);
|
fatalError("failed to allocate %d bytes of heap memory", nMem);
|
||||||
}
|
}
|
||||||
sqlite3_config(SQLITE_CONFIG_HEAP, pHeap, nMem, 128);
|
sqlite3_config(SQLITE_CONFIG_HEAP, pHeap, nMemThisDb, 128);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Register the in-memory virtual filesystem
|
/* Register the in-memory virtual filesystem
|
||||||
@ -1133,7 +1163,7 @@ int main(int argc, char **argv){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
createVFile("main.db", pDb->sz, pDb->a);
|
createVFile("main.db", pDb->sz, pDb->a);
|
||||||
if( ossFuzz ){
|
if( ossFuzzThisDb ){
|
||||||
#ifndef SQLITE_OSS_FUZZ
|
#ifndef SQLITE_OSS_FUZZ
|
||||||
fatalError("--oss-fuzz not supported: recompile with -DSQLITE_OSS_FUZZ");
|
fatalError("--oss-fuzz not supported: recompile with -DSQLITE_OSS_FUZZ");
|
||||||
#else
|
#else
|
||||||
|
BIN
test/fuzzdata5.db
Normal file
BIN
test/fuzzdata5.db
Normal file
Binary file not shown.
Reference in New Issue
Block a user