mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-29 08:01:23 +03:00
Convert the fuzzer virtual table into a loadable extension and move it
to the ext/misc/fuzzer.c file. FossilOrigin-Name: c8c69307f60c1d07ac666ae3797b7e3f286fd491
This commit is contained in:
10
Makefile.in
10
Makefile.in
@ -361,7 +361,6 @@ TESTSRC = \
|
|||||||
$(TOP)/src/test_devsym.c \
|
$(TOP)/src/test_devsym.c \
|
||||||
$(TOP)/src/test_fs.c \
|
$(TOP)/src/test_fs.c \
|
||||||
$(TOP)/src/test_func.c \
|
$(TOP)/src/test_func.c \
|
||||||
$(TOP)/src/test_fuzzer.c \
|
|
||||||
$(TOP)/src/test_hexio.c \
|
$(TOP)/src/test_hexio.c \
|
||||||
$(TOP)/src/test_init.c \
|
$(TOP)/src/test_init.c \
|
||||||
$(TOP)/src/test_intarray.c \
|
$(TOP)/src/test_intarray.c \
|
||||||
@ -373,7 +372,6 @@ TESTSRC = \
|
|||||||
$(TOP)/src/test_osinst.c \
|
$(TOP)/src/test_osinst.c \
|
||||||
$(TOP)/src/test_pcache.c \
|
$(TOP)/src/test_pcache.c \
|
||||||
$(TOP)/src/test_quota.c \
|
$(TOP)/src/test_quota.c \
|
||||||
$(TOP)/src/test_regexp.c \
|
|
||||||
$(TOP)/src/test_rtree.c \
|
$(TOP)/src/test_rtree.c \
|
||||||
$(TOP)/src/test_schema.c \
|
$(TOP)/src/test_schema.c \
|
||||||
$(TOP)/src/test_server.c \
|
$(TOP)/src/test_server.c \
|
||||||
@ -383,11 +381,17 @@ TESTSRC = \
|
|||||||
$(TOP)/src/test_tclvar.c \
|
$(TOP)/src/test_tclvar.c \
|
||||||
$(TOP)/src/test_thread.c \
|
$(TOP)/src/test_thread.c \
|
||||||
$(TOP)/src/test_vfs.c \
|
$(TOP)/src/test_vfs.c \
|
||||||
$(TOP)/src/test_wholenumber.c \
|
|
||||||
$(TOP)/src/test_wsd.c \
|
$(TOP)/src/test_wsd.c \
|
||||||
$(TOP)/ext/fts3/fts3_term.c \
|
$(TOP)/ext/fts3/fts3_term.c \
|
||||||
$(TOP)/ext/fts3/fts3_test.c
|
$(TOP)/ext/fts3/fts3_test.c
|
||||||
|
|
||||||
|
# Statically linked extensions
|
||||||
|
#
|
||||||
|
TESTSRC += \
|
||||||
|
$(TOP)/ext/misc/fuzzer.c \
|
||||||
|
$(TOP)/ext/misc/regexp.c \
|
||||||
|
$(TOP)/ext/misc/wholenumber.c
|
||||||
|
|
||||||
# Source code to the library files needed by the test fixture
|
# Source code to the library files needed by the test fixture
|
||||||
#
|
#
|
||||||
TESTSRC2 = \
|
TESTSRC2 = \
|
||||||
|
11
Makefile.msc
11
Makefile.msc
@ -681,7 +681,6 @@ TESTSRC = \
|
|||||||
$(TOP)\src\test_devsym.c \
|
$(TOP)\src\test_devsym.c \
|
||||||
$(TOP)\src\test_fs.c \
|
$(TOP)\src\test_fs.c \
|
||||||
$(TOP)\src\test_func.c \
|
$(TOP)\src\test_func.c \
|
||||||
$(TOP)\src\test_fuzzer.c \
|
|
||||||
$(TOP)\src\test_hexio.c \
|
$(TOP)\src\test_hexio.c \
|
||||||
$(TOP)\src\test_init.c \
|
$(TOP)\src\test_init.c \
|
||||||
$(TOP)\src\test_intarray.c \
|
$(TOP)\src\test_intarray.c \
|
||||||
@ -693,7 +692,6 @@ TESTSRC = \
|
|||||||
$(TOP)\src\test_osinst.c \
|
$(TOP)\src\test_osinst.c \
|
||||||
$(TOP)\src\test_pcache.c \
|
$(TOP)\src\test_pcache.c \
|
||||||
$(TOP)\src\test_quota.c \
|
$(TOP)\src\test_quota.c \
|
||||||
$(TOP)\src\test_regexp.c \
|
|
||||||
$(TOP)\src\test_rtree.c \
|
$(TOP)\src\test_rtree.c \
|
||||||
$(TOP)\src\test_schema.c \
|
$(TOP)\src\test_schema.c \
|
||||||
$(TOP)\src\test_server.c \
|
$(TOP)\src\test_server.c \
|
||||||
@ -703,11 +701,18 @@ TESTSRC = \
|
|||||||
$(TOP)\src\test_tclvar.c \
|
$(TOP)\src\test_tclvar.c \
|
||||||
$(TOP)\src\test_thread.c \
|
$(TOP)\src\test_thread.c \
|
||||||
$(TOP)\src\test_vfs.c \
|
$(TOP)\src\test_vfs.c \
|
||||||
$(TOP)\src\test_wholenumber.c \
|
|
||||||
$(TOP)\src\test_wsd.c \
|
$(TOP)\src\test_wsd.c \
|
||||||
$(TOP)\ext\fts3\fts3_term.c \
|
$(TOP)\ext\fts3\fts3_term.c \
|
||||||
$(TOP)\ext\fts3\fts3_test.c
|
$(TOP)\ext\fts3\fts3_test.c
|
||||||
|
|
||||||
|
# Statically linked extensions
|
||||||
|
#
|
||||||
|
TESTSRC += \
|
||||||
|
$(TOP)\ext\misc\fuzzer.c \
|
||||||
|
$(TOP)\ext\misc\regexp.c \
|
||||||
|
$(TOP)\ext\misc\wholenumber.c
|
||||||
|
|
||||||
|
|
||||||
# Source code to the library files needed by the test fixture
|
# Source code to the library files needed by the test fixture
|
||||||
#
|
#
|
||||||
TESTSRC2 = \
|
TESTSRC2 = \
|
||||||
|
@ -141,13 +141,14 @@
|
|||||||
** of the strings in the second or third column of the fuzzer data table
|
** of the strings in the second or third column of the fuzzer data table
|
||||||
** is 50 bytes. The maximum cost on a rule is 1000.
|
** is 50 bytes. The maximum cost on a rule is 1000.
|
||||||
*/
|
*/
|
||||||
|
#include "sqlite3ext.h"
|
||||||
|
SQLITE_EXTENSION_INIT1
|
||||||
|
|
||||||
/* If SQLITE_DEBUG is not defined, disable assert statements. */
|
/* If SQLITE_DEBUG is not defined, disable assert statements. */
|
||||||
#if !defined(NDEBUG) && !defined(SQLITE_DEBUG)
|
#if !defined(NDEBUG) && !defined(SQLITE_DEBUG)
|
||||||
# define NDEBUG
|
# define NDEBUG
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "sqlite3.h"
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
@ -1155,61 +1156,16 @@ static sqlite3_module fuzzerModule = {
|
|||||||
#endif /* SQLITE_OMIT_VIRTUALTABLE */
|
#endif /* SQLITE_OMIT_VIRTUALTABLE */
|
||||||
|
|
||||||
|
|
||||||
/*
|
#ifdef _WIN32
|
||||||
** Register the fuzzer virtual table
|
__declspec(dllexport)
|
||||||
*/
|
|
||||||
int fuzzer_register(sqlite3 *db){
|
|
||||||
int rc = SQLITE_OK;
|
|
||||||
#ifndef SQLITE_OMIT_VIRTUALTABLE
|
|
||||||
rc = sqlite3_create_module(db, "fuzzer", &fuzzerModule, 0);
|
|
||||||
#endif
|
#endif
|
||||||
|
int sqlite3_fuzzer_init(
|
||||||
|
sqlite3 *db,
|
||||||
|
char **pzErrMsg,
|
||||||
|
const sqlite3_api_routines *pApi
|
||||||
|
){
|
||||||
|
int rc = SQLITE_OK;
|
||||||
|
SQLITE_EXTENSION_INIT2(pApi);
|
||||||
|
rc = sqlite3_create_module(db, "fuzzer", &fuzzerModule, 0);
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef SQLITE_TEST
|
|
||||||
#include <tcl.h>
|
|
||||||
/*
|
|
||||||
** Decode a pointer to an sqlite3 object.
|
|
||||||
*/
|
|
||||||
extern int getDbPointer(Tcl_Interp *interp, const char *zA, sqlite3 **ppDb);
|
|
||||||
|
|
||||||
/*
|
|
||||||
** Register the echo virtual table module.
|
|
||||||
*/
|
|
||||||
static int register_fuzzer_module(
|
|
||||||
ClientData clientData, /* Pointer to sqlite3_enable_XXX function */
|
|
||||||
Tcl_Interp *interp, /* The TCL interpreter that invoked this command */
|
|
||||||
int objc, /* Number of arguments */
|
|
||||||
Tcl_Obj *CONST objv[] /* Command arguments */
|
|
||||||
){
|
|
||||||
sqlite3 *db;
|
|
||||||
if( objc!=2 ){
|
|
||||||
Tcl_WrongNumArgs(interp, 1, objv, "DB");
|
|
||||||
return TCL_ERROR;
|
|
||||||
}
|
|
||||||
getDbPointer(interp, Tcl_GetString(objv[1]), &db);
|
|
||||||
fuzzer_register(db);
|
|
||||||
return TCL_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
** Register commands with the TCL interpreter.
|
|
||||||
*/
|
|
||||||
int Sqlitetestfuzzer_Init(Tcl_Interp *interp){
|
|
||||||
static struct {
|
|
||||||
char *zName;
|
|
||||||
Tcl_ObjCmdProc *xProc;
|
|
||||||
void *clientData;
|
|
||||||
} aObjCmd[] = {
|
|
||||||
{ "register_fuzzer_module", register_fuzzer_module, 0 },
|
|
||||||
};
|
|
||||||
int i;
|
|
||||||
for(i=0; i<sizeof(aObjCmd)/sizeof(aObjCmd[0]); i++){
|
|
||||||
Tcl_CreateObjCommand(interp, aObjCmd[i].zName,
|
|
||||||
aObjCmd[i].xProc, aObjCmd[i].clientData, 0);
|
|
||||||
}
|
|
||||||
return TCL_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* SQLITE_TEST */
|
|
11
main.mk
11
main.mk
@ -244,7 +244,6 @@ TESTSRC = \
|
|||||||
$(TOP)/src/test_devsym.c \
|
$(TOP)/src/test_devsym.c \
|
||||||
$(TOP)/src/test_fs.c \
|
$(TOP)/src/test_fs.c \
|
||||||
$(TOP)/src/test_func.c \
|
$(TOP)/src/test_func.c \
|
||||||
$(TOP)/src/test_fuzzer.c \
|
|
||||||
$(TOP)/src/test_hexio.c \
|
$(TOP)/src/test_hexio.c \
|
||||||
$(TOP)/src/test_init.c \
|
$(TOP)/src/test_init.c \
|
||||||
$(TOP)/src/test_intarray.c \
|
$(TOP)/src/test_intarray.c \
|
||||||
@ -256,7 +255,6 @@ TESTSRC = \
|
|||||||
$(TOP)/src/test_osinst.c \
|
$(TOP)/src/test_osinst.c \
|
||||||
$(TOP)/src/test_pcache.c \
|
$(TOP)/src/test_pcache.c \
|
||||||
$(TOP)/src/test_quota.c \
|
$(TOP)/src/test_quota.c \
|
||||||
$(TOP)/ext/misc/regexp.c \
|
|
||||||
$(TOP)/src/test_rtree.c \
|
$(TOP)/src/test_rtree.c \
|
||||||
$(TOP)/src/test_schema.c \
|
$(TOP)/src/test_schema.c \
|
||||||
$(TOP)/src/test_server.c \
|
$(TOP)/src/test_server.c \
|
||||||
@ -267,9 +265,16 @@ TESTSRC = \
|
|||||||
$(TOP)/src/test_tclvar.c \
|
$(TOP)/src/test_tclvar.c \
|
||||||
$(TOP)/src/test_thread.c \
|
$(TOP)/src/test_thread.c \
|
||||||
$(TOP)/src/test_vfs.c \
|
$(TOP)/src/test_vfs.c \
|
||||||
$(TOP)/ext/misc/wholenumber.c \
|
|
||||||
$(TOP)/src/test_wsd.c
|
$(TOP)/src/test_wsd.c
|
||||||
|
|
||||||
|
# Extensions to be statically loaded.
|
||||||
|
#
|
||||||
|
TESTSRC += \
|
||||||
|
$(TOP)/ext/misc/fuzzer.c \
|
||||||
|
$(TOP)/ext/misc/regexp.c \
|
||||||
|
$(TOP)/ext/misc/wholenumber.c
|
||||||
|
|
||||||
|
|
||||||
#TESTSRC += $(TOP)/ext/fts2/fts2_tokenizer.c
|
#TESTSRC += $(TOP)/ext/fts2/fts2_tokenizer.c
|
||||||
#TESTSRC += $(TOP)/ext/fts3/fts3_tokenizer.c
|
#TESTSRC += $(TOP)/ext/fts3/fts3_tokenizer.c
|
||||||
|
|
||||||
|
28
manifest
28
manifest
@ -1,9 +1,9 @@
|
|||||||
C Make\stest_wholenumber.c\sinto\sa\sloadable\sextension\sand\smove\sit\sto\next/misc/wholenumber.c.
|
C Convert\sthe\sfuzzer\svirtual\stable\sinto\sa\sloadable\sextension\sand\smove\sit\nto\sthe\sext/misc/fuzzer.c\sfile.
|
||||||
D 2013-04-25T11:58:36.453
|
D 2013-04-25T14:31:46.866
|
||||||
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
|
||||||
F Makefile.in 87591ea5bf7d6ed521ad42d5bc69c124debe11a5
|
F Makefile.in 422a8541e3595e4fd4d962a46f52fbe095a31bd2
|
||||||
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
|
||||||
F Makefile.msc 67d9db478186d7d4a498c794fff049f7231a9626
|
F Makefile.msc ef00ccb017f6da580ab934d096b08da40d81f1a5
|
||||||
F Makefile.vxworks db21ed42a01d5740e656b16f92cb5d8d5e5dd315
|
F Makefile.vxworks db21ed42a01d5740e656b16f92cb5d8d5e5dd315
|
||||||
F README cd04a36fbc7ea56932a4052d7d0b7f09f27c33d6
|
F README cd04a36fbc7ea56932a4052d7d0b7f09f27c33d6
|
||||||
F VERSION 05c7bd63b96f31cfdef5c766ed91307ac121f5aa
|
F VERSION 05c7bd63b96f31cfdef5c766ed91307ac121f5aa
|
||||||
@ -83,8 +83,9 @@ F ext/fts3/unicode/mkunicode.tcl 7a9bc018e2962abb79563c5a39fe581fcbf2f675
|
|||||||
F ext/icu/README.txt d9fbbad0c2f647c3fdf715fc9fd64af53aedfc43
|
F ext/icu/README.txt d9fbbad0c2f647c3fdf715fc9fd64af53aedfc43
|
||||||
F ext/icu/icu.c eb9ae1d79046bd7871aa97ee6da51eb770134b5a
|
F ext/icu/icu.c eb9ae1d79046bd7871aa97ee6da51eb770134b5a
|
||||||
F ext/icu/sqliteicu.h 728867a802baa5a96de7495e9689a8e01715ef37
|
F ext/icu/sqliteicu.h 728867a802baa5a96de7495e9689a8e01715ef37
|
||||||
|
F ext/misc/fuzzer.c fb64a15af978ae73fa9075b9b1dfbe82b8defc6f w src/test_fuzzer.c
|
||||||
F ext/misc/regexp.c c0fdb8af86981ff9890d776cfb97fe66297cc3b2
|
F ext/misc/regexp.c c0fdb8af86981ff9890d776cfb97fe66297cc3b2
|
||||||
F ext/misc/wholenumber.c ce362368b9381ea48cbd951ade8df867eeeab014 w src/test_wholenumber.c
|
F ext/misc/wholenumber.c ce362368b9381ea48cbd951ade8df867eeeab014
|
||||||
F ext/rtree/README 6315c0d73ebf0ec40dedb5aa0e942bc8b54e3761
|
F ext/rtree/README 6315c0d73ebf0ec40dedb5aa0e942bc8b54e3761
|
||||||
F ext/rtree/rtree.c 757abea591d4ff67c0ff4e8f9776aeda86b18c14
|
F ext/rtree/rtree.c 757abea591d4ff67c0ff4e8f9776aeda86b18c14
|
||||||
F ext/rtree/rtree.h 834dbcb82dc85b2481cde6a07cdadfddc99e9b9e
|
F ext/rtree/rtree.h 834dbcb82dc85b2481cde6a07cdadfddc99e9b9e
|
||||||
@ -106,7 +107,7 @@ F ext/rtree/tkt3363.test 142ab96eded44a3615ec79fba98c7bde7d0f96de
|
|||||||
F ext/rtree/viewrtree.tcl eea6224b3553599ae665b239bd827e182b466024
|
F ext/rtree/viewrtree.tcl eea6224b3553599ae665b239bd827e182b466024
|
||||||
F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
|
F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x
|
||||||
F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
|
F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8
|
||||||
F main.mk 2a6938f243a367e34905f02855606a1f3e5ef9d1
|
F main.mk bf3cf721c54c97e0eb02856d7d67828ac9738c4e
|
||||||
F mkdll.sh 7d09b23c05d56532e9d44a50868eb4b12ff4f74a
|
F mkdll.sh 7d09b23c05d56532e9d44a50868eb4b12ff4f74a
|
||||||
F mkextu.sh 416f9b7089d80e5590a29692c9d9280a10dbad9f
|
F mkextu.sh 416f9b7089d80e5590a29692c9d9280a10dbad9f
|
||||||
F mkextw.sh 4123480947681d9b434a5e7b1ee08135abe409ac
|
F mkextw.sh 4123480947681d9b434a5e7b1ee08135abe409ac
|
||||||
@ -192,8 +193,8 @@ F src/sqliteInt.h 2a83cfec9963372b636b0cabd4b200c1f1074a99
|
|||||||
F src/sqliteLimit.h 164b0e6749d31e0daa1a4589a169d31c0dec7b3d
|
F src/sqliteLimit.h 164b0e6749d31e0daa1a4589a169d31c0dec7b3d
|
||||||
F src/status.c bedc37ec1a6bb9399944024d63f4c769971955a9
|
F src/status.c bedc37ec1a6bb9399944024d63f4c769971955a9
|
||||||
F src/table.c 2cd62736f845d82200acfa1287e33feb3c15d62e
|
F src/table.c 2cd62736f845d82200acfa1287e33feb3c15d62e
|
||||||
F src/tclsqlite.c 454a2ec58de93cc3eb49a08d205935484b2be3be
|
F src/tclsqlite.c 2ecec9937e69bc17560ad886da35195daa7261b8
|
||||||
F src/test1.c fdbf02675c1b16099bbd33a41d40c0d86754419b
|
F src/test1.c aba32f14372febad3e7c14798b25bdd9fd0b7c61
|
||||||
F src/test2.c 29e7154112f7448d64204e8d31179cf497ecf425
|
F src/test2.c 29e7154112f7448d64204e8d31179cf497ecf425
|
||||||
F src/test3.c 96aed72a8e1d542fed127e3e8350ae357712fa82
|
F src/test3.c 96aed72a8e1d542fed127e3e8350ae357712fa82
|
||||||
F src/test4.c cea2c55110241e4674e66d476d29c914627999f5
|
F src/test4.c cea2c55110241e4674e66d476d29c914627999f5
|
||||||
@ -211,7 +212,6 @@ F src/test_demovfs.c 20a4975127993f4959890016ae9ce5535a880094
|
|||||||
F src/test_devsym.c e7498904e72ba7491d142d5c83b476c4e76993bc
|
F src/test_devsym.c e7498904e72ba7491d142d5c83b476c4e76993bc
|
||||||
F src/test_fs.c 8f786bfd0ad48030cf2a06fb1f050e9c60a150d7
|
F src/test_fs.c 8f786bfd0ad48030cf2a06fb1f050e9c60a150d7
|
||||||
F src/test_func.c 3a8dd37c08ab43b76d38eea2836e34a3897bf170
|
F src/test_func.c 3a8dd37c08ab43b76d38eea2836e34a3897bf170
|
||||||
F src/test_fuzzer.c 1d26aa965120420bc14807da29d4d4541bfa6148
|
|
||||||
F src/test_hexio.c abfdecb6fa58c354623978efceb088ca18e379cd
|
F src/test_hexio.c abfdecb6fa58c354623978efceb088ca18e379cd
|
||||||
F src/test_init.c 3cbad7ce525aec925f8fda2192d576d47f0d478a
|
F src/test_init.c 3cbad7ce525aec925f8fda2192d576d47f0d478a
|
||||||
F src/test_intarray.c 07ddcebe4097d400ffca362770f1d883c112387a
|
F src/test_intarray.c 07ddcebe4097d400ffca362770f1d883c112387a
|
||||||
@ -527,8 +527,8 @@ F test/fuzz2.test 207d0f9d06db3eaf47a6b7bfc835b8e2fc397167
|
|||||||
F test/fuzz3.test aec64345184d1662bd30e6a17851ff659d596dc5
|
F test/fuzz3.test aec64345184d1662bd30e6a17851ff659d596dc5
|
||||||
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/fuzzer1.test a2e93bb1e19513dd6bf9c63d3d7c4673c983ca19
|
F test/fuzzer1.test 41bd5aa6ae0cf18d06342a4476e3cad98604ae48
|
||||||
F test/fuzzerfault.test ff2282c81797b6a355f0748d8b54c7287c5d2b25
|
F test/fuzzerfault.test f96773292b82ce40f7e6614f04ab2166c4ed3c28
|
||||||
F test/hook.test 45cb22b940c3cc0af616ba7430f666e245711a48
|
F test/hook.test 45cb22b940c3cc0af616ba7430f666e245711a48
|
||||||
F test/icu.test 70df4faca133254c042d02ae342c0a141f2663f4
|
F test/icu.test 70df4faca133254c042d02ae342c0a141f2663f4
|
||||||
F test/in.test 5941096407d8c133b9eff15bd3e666624b6cbde3
|
F test/in.test 5941096407d8c133b9eff15bd3e666624b6cbde3
|
||||||
@ -1054,7 +1054,7 @@ F tool/vdbe-compress.tcl f12c884766bd14277f4fcedcae07078011717381
|
|||||||
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
|
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
|
||||||
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
|
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
|
||||||
F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac
|
F tool/win/sqlite.vsix 97894c2790eda7b5bce3cc79cb2a8ec2fde9b3ac
|
||||||
P 860fc393bff27045e0593c3c51bf5577accd0b79
|
P efcc9dd012b5f193324dfc2ee9c2410c16fc1b3b
|
||||||
R 8c941fbad237823d93a73098db175706
|
R 2b859f3329d083b32ee90e4538687497
|
||||||
U drh
|
U drh
|
||||||
Z 60829cfbed93a547344be462cee5c545
|
Z 672d17ed58c8e3fac84edc0141a68b79
|
||||||
|
@ -1 +1 @@
|
|||||||
efcc9dd012b5f193324dfc2ee9c2410c16fc1b3b
|
c8c69307f60c1d07ac666ae3797b7e3f286fd491
|
@ -3683,7 +3683,6 @@ static void init_all(Tcl_Interp *interp){
|
|||||||
extern int Sqlitemultiplex_Init(Tcl_Interp*);
|
extern int Sqlitemultiplex_Init(Tcl_Interp*);
|
||||||
extern int SqliteSuperlock_Init(Tcl_Interp*);
|
extern int SqliteSuperlock_Init(Tcl_Interp*);
|
||||||
extern int SqlitetestSyscall_Init(Tcl_Interp*);
|
extern int SqlitetestSyscall_Init(Tcl_Interp*);
|
||||||
extern int Sqlitetestfuzzer_Init(Tcl_Interp*);
|
|
||||||
|
|
||||||
#if defined(SQLITE_ENABLE_FTS3) || defined(SQLITE_ENABLE_FTS4)
|
#if defined(SQLITE_ENABLE_FTS3) || defined(SQLITE_ENABLE_FTS4)
|
||||||
extern int Sqlitetestfts3_Init(Tcl_Interp *interp);
|
extern int Sqlitetestfts3_Init(Tcl_Interp *interp);
|
||||||
@ -3726,7 +3725,6 @@ static void init_all(Tcl_Interp *interp){
|
|||||||
Sqlitemultiplex_Init(interp);
|
Sqlitemultiplex_Init(interp);
|
||||||
SqliteSuperlock_Init(interp);
|
SqliteSuperlock_Init(interp);
|
||||||
SqlitetestSyscall_Init(interp);
|
SqlitetestSyscall_Init(interp);
|
||||||
Sqlitetestfuzzer_Init(interp);
|
|
||||||
|
|
||||||
#if defined(SQLITE_ENABLE_FTS3) || defined(SQLITE_ENABLE_FTS4)
|
#if defined(SQLITE_ENABLE_FTS3) || defined(SQLITE_ENABLE_FTS4)
|
||||||
Sqlitetestfts3_Init(interp);
|
Sqlitetestfts3_Init(interp);
|
||||||
|
@ -6057,12 +6057,14 @@ static int tclLoadStaticExtensionCmd(
|
|||||||
int objc,
|
int objc,
|
||||||
Tcl_Obj *CONST objv[]
|
Tcl_Obj *CONST objv[]
|
||||||
){
|
){
|
||||||
|
extern int sqlite3_fuzzer_init(sqlite3*,char**,const sqlite3_api_routines*);
|
||||||
extern int sqlite3_regexp_init(sqlite3*,char**,const sqlite3_api_routines*);
|
extern int sqlite3_regexp_init(sqlite3*,char**,const sqlite3_api_routines*);
|
||||||
extern int sqlite3_wholenumber_init(sqlite3*,char**,const sqlite3_api_routines*);
|
extern int sqlite3_wholenumber_init(sqlite3*,char**,const sqlite3_api_routines*);
|
||||||
static const struct {
|
static const struct {
|
||||||
const char *zExtName;
|
const char *zExtName;
|
||||||
int (*pInit)(sqlite3*,char**,const sqlite3_api_routines*);
|
int (*pInit)(sqlite3*,char**,const sqlite3_api_routines*);
|
||||||
} aExtension[] = {
|
} aExtension[] = {
|
||||||
|
{ "fuzzer", sqlite3_fuzzer_init },
|
||||||
{ "regexp", sqlite3_regexp_init },
|
{ "regexp", sqlite3_regexp_init },
|
||||||
{ "wholenumber", sqlite3_wholenumber_init },
|
{ "wholenumber", sqlite3_wholenumber_init },
|
||||||
};
|
};
|
||||||
|
@ -24,12 +24,7 @@ ifcapable !vtab {
|
|||||||
|
|
||||||
set ::testprefix fuzzer1
|
set ::testprefix fuzzer1
|
||||||
|
|
||||||
# Test of test code. Only here to make the coverage metric better.
|
load_static_extension db fuzzer
|
||||||
do_test 0.1 {
|
|
||||||
list [catch { register_fuzzer_module a b c } msg] $msg
|
|
||||||
} {1 {wrong # args: should be "register_fuzzer_module DB"}}
|
|
||||||
|
|
||||||
register_fuzzer_module db
|
|
||||||
|
|
||||||
# Check configuration errors.
|
# Check configuration errors.
|
||||||
#
|
#
|
||||||
|
@ -17,7 +17,7 @@ source $testdir/tester.tcl
|
|||||||
ifcapable !vtab { finish_test ; return }
|
ifcapable !vtab { finish_test ; return }
|
||||||
set ::testprefix fuzzerfault
|
set ::testprefix fuzzerfault
|
||||||
|
|
||||||
register_fuzzer_module db
|
load_static_extension db fuzzer
|
||||||
|
|
||||||
do_test 1-pre1 {
|
do_test 1-pre1 {
|
||||||
execsql {
|
execsql {
|
||||||
|
Reference in New Issue
Block a user