From a47e709e89db6011aa13727cb620bdc566bd33a0 Mon Sep 17 00:00:00 2001 From: drh Date: Fri, 25 Jan 2019 04:00:14 +0000 Subject: [PATCH] Add the ability to process dbsqlfuzz cases in fuzzcheck and add an initial set of interesting dbsqlfuzz cases. FossilOrigin-Name: fb9074ff450a67feaa62ca61d19154de26d5c8a8d147409ee6d1fbd667b2914f --- Makefile.in | 9 +- Makefile.msc | 15 +- main.mk | 8 +- manifest | 24 ++- manifest.uuid | 2 +- test/fuzzcheck.c | 475 +++++++++++++++++++++++++++++++++++++++++++++- test/fuzzdata8.db | Bin 0 -> 732160 bytes 7 files changed, 515 insertions(+), 18 deletions(-) create mode 100644 test/fuzzdata8.db diff --git a/Makefile.in b/Makefile.in index 43fb38a46f..3904e45c0e 100644 --- a/Makefile.in +++ b/Makefile.in @@ -589,7 +589,8 @@ FUZZDATA = \ $(TOP)/test/fuzzdata4.db \ $(TOP)/test/fuzzdata5.db \ $(TOP)/test/fuzzdata6.db \ - $(TOP)/test/fuzzdata7.db + $(TOP)/test/fuzzdata7.db \ + $(TOP)/test/fuzzdata8.db # Standard options to testfixture # @@ -612,6 +613,12 @@ FUZZERSHELL_OPT = -DSQLITE_ENABLE_JSON1 FUZZCHECK_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5 -DSQLITE_OSS_FUZZ FUZZCHECK_OPT += -DSQLITE_MAX_MEMORY=50000000 FUZZCHECK_OPT += -DSQLITE_PRINTF_PRECISION_LIMIT=1000 +FUZZCHECK_OPT += -DSQLITE_ENABLE_DESERIALIZE +FUZZCHECK_OPT += -DSQLITE_ENABLE_FTS4 +#FUZZCHECK_OPT += -DSQLITE_ENABLE_FTS5 +FUZZCHECK_OPT += -DSQLITE_ENABLE_RTREE +FUZZCHECK_OPT += -DSQLITE_ENABLE_GEOPOLY +FUZZCHECK_OPT += -DSQLITE_ENABLE_DBSTAT_VTAB FUZZCHECK_SRC = $(TOP)/test/fuzzcheck.c $(TOP)/test/ossfuzz.c DBFUZZ_OPT = diff --git a/Makefile.msc b/Makefile.msc index fdd1f98f9c..b4fa372f9a 100644 --- a/Makefile.msc +++ b/Makefile.msc @@ -1626,7 +1626,8 @@ FUZZDATA = \ $(TOP)\test\fuzzdata4.db \ $(TOP)\test\fuzzdata5.db \ $(TOP)\test\fuzzdata6.db \ - $(TOP)\test\fuzzdata7.db + $(TOP)\test\fuzzdata7.db \ + $(TOP)\test\fuzzdata8.db # <> # Additional compiler options for the shell. These are only effective @@ -1644,7 +1645,13 @@ SHELL_COMPILE_OPTS = $(SHELL_COMPILE_OPTS) -DSQLITE_ENABLE_DESERIALIZE=1 # MPTESTER_COMPILE_OPTS = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 FUZZERSHELL_COMPILE_OPTS = -DSQLITE_ENABLE_JSON1 -FUZZCHECK_COMPILE_OPTS = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5 -DSQLITE_OSS_FUZZ -DSQLITE_MAX_MEMORY=50000000 -DSQLITE_PRINTF_PRECISION_LIMIT=1000 +FUZZCHECK_OPTS = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5 -DSQLITE_OSS_FUZZ -DSQLITE_MAX_MEMORY=50000000 -DSQLITE_PRINTF_PRECISION_LIMIT=1000 +FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_DESERIALIZE +FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_FTS4 +FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_RTREE +FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_GEOPOLY +FUZZCHECK_OPTS = $(FUZZCHECK_OPTS) -DSQLITE_ENABLE_DBSTAT_VTAB + FUZZCHECK_SRC = $(TOP)\test\fuzzcheck.c $(TOP)\test\ossfuzz.c OSSSHELL_SRC = $(TOP)\test\ossshell.c $(TOP)\test\ossfuzz.c DBFUZZ_COMPILE_OPTS = -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION @@ -1731,10 +1738,10 @@ dbfuzz.exe: $(TOP)\test\dbfuzz.c $(SQLITE3C) $(SQLITE3H) $(LTLINK) $(NO_WARN) $(DBFUZZ_COMPILE_OPTS) $(TOP)\test\dbfuzz.c $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS) fuzzcheck.exe: $(FUZZCHECK_SRC) $(SQLITE3C) $(SQLITE3H) - $(LTLINK) $(NO_WARN) $(FUZZCHECK_COMPILE_OPTS) $(FUZZCHECK_SRC) $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS) + $(LTLINK) $(NO_WARN) $(FUZZCHECK_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) + $(LTLINK) $(NO_WARN) $(FUZZCHECK_OPTS) $(OSSSHELL_SRC) $(SQLITE3C) /link $(LDFLAGS) $(LTLINKOPTS) sessionfuzz.exe: zlib $(TOP)\test\sessionfuzz.c $(SQLITE3C) $(SQLITE3H) $(LTLINK) $(NO_WARN) -I$(ZLIBINCDIR) $(TOP)\test\sessionfuzz.c /link $(LDFLAGS) $(LTLINKOPTS) /LIBPATH:$(ZLIBLIBDIR) $(ZLIBLIB) diff --git a/main.mk b/main.mk index 9667db3253..d18863b11e 100644 --- a/main.mk +++ b/main.mk @@ -510,7 +510,8 @@ FUZZDATA = \ $(TOP)/test/fuzzdata4.db \ $(TOP)/test/fuzzdata5.db \ $(TOP)/test/fuzzdata6.db \ - $(TOP)/test/fuzzdata7.db + $(TOP)/test/fuzzdata7.db \ + $(TOP)/test/fuzzdata8.db # Standard options to testfixture # @@ -531,6 +532,11 @@ FUZZERSHELL_OPT = -DSQLITE_ENABLE_JSON1 FUZZCHECK_OPT = -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_MEMSYS5 FUZZCHECK_OPT += -DSQLITE_MAX_MEMORY=50000000 FUZZCHECK_OPT += -DSQLITE_PRINTF_PRECISION_LIMIT=1000 +FUZZCHECK_OPT += -DSQLITE_ENABLE_DESERIALIZE +FUZZCHECK_OPT += -DSQLITE_ENABLE_FTS4 +FUZZCHECK_OPT += -DSQLITE_ENABLE_RTREE +FUZZCHECK_OPT += -DSQLITE_ENABLE_GEOPOLY +FUZZCHECK_OPT += -DSQLITE_ENABLE_DBSTAT_VTAB DBFUZZ_OPT = KV_OPT = -DSQLITE_THREADSAFE=0 -DSQLITE_DIRECT_OVERFLOW_READ ST_OPT = -DSQLITE_THREADSAFE=0 diff --git a/manifest b/manifest index eeded3f3c7..1a0ca0401f 100644 --- a/manifest +++ b/manifest @@ -1,10 +1,10 @@ -C Fix\sa\sbuffer\soverread\sin\sfts3\sthat\scould\soccur\sin\sa\sprefix\squery\son\sa\scorrupted\sdatabase. -D 2019-01-24T17:41:12.741 +C Add\sthe\sability\sto\sprocess\sdbsqlfuzz\scases\sin\sfuzzcheck\sand\sadd\san\sinitial\nset\sof\sinteresting\sdbsqlfuzz\scases. +D 2019-01-25T04:00:14.721 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea -F Makefile.in 0e7c107ebcaff26681bc5bcf017557db85aa828d6f7fd652d748b7a78072c298 +F Makefile.in 9947eae873c07ae894d4c8633b76c0a0daca7b9fd54401096a77d1a6c7b74359 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 -F Makefile.msc e04060b2138cefc198809d7adad70aebb4a667520b9133fe07a90a1769522dc7 +F Makefile.msc 5df60c70edb157feb2148a14c687551969599bd065875a0b959b6b139721ca72 F README.md 377233394b905d3b2e2b33741289e093bc93f2e7adbe00923b2c5958c9a9edee F VERSION 453e2f4529ca208196d5567db28d549d7151f79efd33f6e6cfe6e613e583a0be F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50 @@ -436,7 +436,7 @@ F ext/userauth/userauth.c f81aa5a3ecacf406f170c62a144405858f6f6de51dbdc0920134e6 F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 x F ltmain.sh 3ff0879076df340d2e23ae905484d8c15d5fdea8 F magic.txt 8273bf49ba3b0c8559cb2774495390c31fd61c60 -F main.mk 468c42acafaf69ae8d514d40cae78343b1d825aabd82e0368f6a3bcf8e4d2469 +F main.mk e28b19556f75ba6e841fc9c883d6a3c16edeae2d16d4edf32bf3c150725fc4d8 F mkso.sh fd21c06b063bb16a5d25deea1752c2da6ac3ed83 F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271 F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504 @@ -984,7 +984,7 @@ F test/fuzz3.test 9c813e6613b837cb7a277b0383cd66bfa07042b4cf0317157c35852f30043c F test/fuzz4.test c229bcdb45518a89e1d208a21343e061503460ac69fae1539320a89f572eb634 F test/fuzz_common.tcl a87dfbb88c2a6b08a38e9a070dabd129e617b45b F test/fuzz_malloc.test f348276e732e814802e39f042b1f6da6362a610af73a528d8f76898fde6b22f2 -F test/fuzzcheck.c 6edb2a0b6c8113cdac10f8e35b891be1a1b08ebacb1c2e2f93876d4d056e8e15 +F test/fuzzcheck.c 4082901a0665a5135b295fe81aa0ee325d42e1e28a0e3058a4082d249a321899 F test/fuzzdata1.db 7ee3227bad0e7ccdeb08a9e6822916777073c664 F test/fuzzdata2.db 128b3feeb78918d075c9b14b48610145a0dd4c8d6f1ca7c2870c7e425f5bf31f F test/fuzzdata3.db c6586d3e3cef0fbc18108f9bb649aa77bfc38aba @@ -992,6 +992,7 @@ F test/fuzzdata4.db b502c7d5498261715812dd8b3c2005bad08b3a26e6489414bd13926cd3e4 F test/fuzzdata5.db e35f64af17ec48926481cfaf3b3855e436bd40d1cfe2d59a9474cb4b748a52a5 F test/fuzzdata6.db 92a80e4afc172c24f662a10a612d188fb272de4a9bd19e017927c95f737de6d7 F test/fuzzdata7.db 3fc78e65dfe0be9df9e262075d5a335f18f627da47dfc691d1a7b822f34d4b99 +F test/fuzzdata8.db 8a96892bd2535578ff2ca27db823b7e149cfce6694c15ca80521fa758be605b1 F test/fuzzer1.test 3d4c4b7e547aba5e5511a2991e3e3d07166cfbb8 F test/fuzzer2.test a85ef814ce071293bce1ad8dffa217cbbaad4c14 F test/fuzzerfault.test 8792cd77fd5bce765b05d0c8e01b9edcf8af8536 @@ -1802,7 +1803,10 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 2d9cd06715092c312c8c0ec392696a0e90ed090b074e2082e0b830f1399aa941 -R aefdd33a1c83587ad3b0becf4339d1cc -U dan -Z df47a0dfd1efad16167473814c8098a6 +P d0d5689371577b2861d4a9464443d055f3256f3f51d89e0388233a4cbe2601ee +R a483eb7b902b414248e92f9e64472126 +T *branch * dbsqlfuzz-in-fuzzcheck +T *sym-dbsqlfuzz-in-fuzzcheck * +T -sym-trunk * +U drh +Z 174f299274057b1d40bc6ac9348469f7 diff --git a/manifest.uuid b/manifest.uuid index c8a242b3f7..71191813f9 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -d0d5689371577b2861d4a9464443d055f3256f3f51d89e0388233a4cbe2601ee \ No newline at end of file +fb9074ff450a67feaa62ca61d19154de26d5c8a8d147409ee6d1fbd667b2914f \ No newline at end of file diff --git a/test/fuzzcheck.c b/test/fuzzcheck.c index 0db4167445..3175bf33e7 100644 --- a/test/fuzzcheck.c +++ b/test/fuzzcheck.c @@ -69,6 +69,7 @@ #include #include #include +#include #include "sqlite3.h" #define ISSPACE(X) isspace((unsigned char)(X)) #define ISDIGIT(X) isdigit((unsigned char)(X)) @@ -400,7 +401,6 @@ static void blobListFree(Blob *p){ } } - /* Return the current wall-clock time */ static sqlite3_int64 timeOfDay(void){ static sqlite3_vfs *clockVfs = 0; @@ -419,6 +419,448 @@ static sqlite3_int64 timeOfDay(void){ return t; } +/*************************************************************************** +** Code to process combined database+SQL scripts generated by the +** dbsqlfuzz fuzzer. +*/ + +/* An instance of the following object is passed by pointer as the +** client data to various callbacks. +*/ +typedef struct FuzzCtx { + sqlite3 *db; /* The database connection */ + sqlite3_int64 iCutoffTime; /* Stop processing at this time. */ + sqlite3_int64 iLastCb; /* Time recorded for previous progress callback */ + sqlite3_int64 mxInterval; /* Longest interval between two progress calls */ + unsigned nCb; /* Number of progress callbacks */ + unsigned mxCb; /* Maximum number of progress callbacks allowed */ + unsigned execCnt; /* Number of calls to the sqlite3_exec callback */ + int timeoutHit; /* True when reaching a timeout */ +} FuzzCtx; + +/* Verbosity level for the dbsqlfuzz test runner */ +static int eVerbosity = 0; + +/* True to activate PRAGMA vdbe_debug=on */ +static int bVdbeDebug = 0; + +/* Timeout for each fuzzing attempt, in milliseconds */ +static int iTimeout = 10000; /* Defaults to 10 seconds */ + +/* Maximum number of progress handler callbacks */ +static unsigned int mxProgressCb = 2000; + +/* Maximum string length in SQLite */ +static int lengthLimit = 1000000; + +/* Maximum byte-code program length in SQLite */ +static int vdbeOpLimit = 25000; + +/* Maximum size of the in-memory database */ +static sqlite3_int64 maxDbSize = 104857600; + +/* +** Translate a single byte of Hex into an integer. +** This routine only works if h really is a valid hexadecimal +** character: 0..9a..fA..F +*/ +static unsigned int hexToInt(unsigned int h){ +#ifdef SQLITE_EBCDIC + h += 9*(1&~(h>>4)); /* EBCDIC */ +#else + h += 9*(1&(h>>6)); /* ASCII */ +#endif + return h & 0xf; +} + +/* +** The first character of buffer zIn[0..nIn-1] is a '['. This routine +** checked to see if the buffer holds "[NNNN]" or "[+NNNN]" and if it +** does it makes corresponding changes to the *pK value and *pI value +** and returns true. If the input buffer does not match the patterns, +** no changes are made to either *pK or *pI and this routine returns false. +*/ +static int isOffset( + const unsigned char *zIn, /* Text input */ + int nIn, /* Bytes of input */ + unsigned int *pK, /* half-byte cursor to adjust */ + unsigned int *pI /* Input index to adjust */ +){ + int i; + unsigned int k = 0; + unsigned char c; + for(i=1; i=nAlloc ){ + sqlite3_uint64 newSize; + if( nAlloc==MX_FILE_SZ || j>=MX_FILE_SZ ){ + if( eVerbosity ){ + fprintf(stderr, "Input database too big: max %d bytes\n", + MX_FILE_SZ); + } + sqlite3_free(a); + return -1; + } + newSize = nAlloc*2; + if( newSize<=j ){ + newSize = (j+4096)&~4095; + } + if( newSize>MX_FILE_SZ ){ + if( j>=MX_FILE_SZ ){ + sqlite3_free(a); + return -1; + } + newSize = MX_FILE_SZ; + } + a = sqlite3_realloc( a, newSize ); + if( a==0 ){ + fprintf(stderr, "Out of memory!\n"); + exit(1); + } + assert( newSize > nAlloc ); + memset(a+nAlloc, 0, newSize - nAlloc); + nAlloc = newSize; + } + if( j>=(unsigned)mx ){ + mx = (j + 4095)&~4095; + if( mx>MX_FILE_SZ ) mx = MX_FILE_SZ; + } + assert( j=p->iCutoffTime; + sqlite3_int64 iDiff = iNow - p->iLastCb; + if( iDiff > p->mxInterval ) p->mxInterval = iDiff; + p->nCb++; + if( rc==0 && p->mxCb>0 && p->mxCb<=p->nCb ) rc = 1; + if( rc && !p->timeoutHit && eVerbosity ){ + printf("Timeout on progress callback %d\n", p->nCb); + fflush(stdout); + p->timeoutHit = 1; + } + return rc; +} + +/* +** Disallow debugging pragmas such as "PRAGMA vdbe_debug" and +** "PRAGMA parser_trace" since they can dramatically increase the +** amount of output without actually testing anything useful. +** +** Also block ATTACH and DETACH +*/ +static int block_troublesome_sql( + void *Notused, + int eCode, + const char *zArg1, + const char *zArg2, + const char *zArg3, + const char *zArg4 +){ + (void)Notused; + (void)zArg2; + (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; + } + }else if( (eCode==SQLITE_ATTACH || eCode==SQLITE_DETACH) + && zArg1 && zArg1[0] ){ + return SQLITE_DENY; + } + return SQLITE_OK; +} + +/* +** Run the SQL text +*/ +static int runDbSql(sqlite3 *db, const char *zSql){ + int rc; + sqlite3_stmt *pStmt; + while( isspace(zSql[0]) ) zSql++; + if( zSql[0]==0 ) return SQLITE_OK; + if( eVerbosity>=3 ){ + printf("RUNNING-SQL: [%s]\n", zSql); + fflush(stdout); + } + rc = sqlite3_prepare_v2(db, zSql, -1, &pStmt, 0); + if( rc==SQLITE_OK ){ + while( (rc = sqlite3_step(pStmt))==SQLITE_ROW ){ + if( eVerbosity>=4 ){ + int j; + for(j=0; j=4 ) */ + } /* End while( SQLITE_ROW */ + if( rc!=SQLITE_DONE && eVerbosity>=3 ){ + printf("SQL-ERROR: (%d) %s\n", rc, sqlite3_errmsg(db)); + fflush(stdout); + } + }else if( eVerbosity>=3 ){ + printf("SQL-ERROR (%d): %s\n", rc, sqlite3_errmsg(db)); + fflush(stdout); + } /* End if( SQLITE_OK ) */ + return sqlite3_finalize(pStmt); +} + +/* Invoke this routine to run a single test case */ +int runCombinedDbSqlInput(const uint8_t *aData, size_t nByte){ + int rc; /* SQLite API return value */ + int iSql; /* Index in aData[] of start of SQL */ + unsigned char *aDb = 0; /* Decoded database content */ + int nDb = 0; /* Size of the decoded database */ + int i; /* Loop counter */ + int j; /* Start of current SQL statement */ + char *zSql = 0; /* SQL text to run */ + int nSql; /* Bytes of SQL text */ + FuzzCtx cx; /* Fuzzing context */ + + if( nByte<10 ) return 0; + if( sqlite3_initialize() ) return 0; + if( sqlite3_memory_used()!=0 ){ + int nAlloc = 0; + int nNotUsed = 0; + sqlite3_status(SQLITE_STATUS_MALLOC_COUNT, &nAlloc, &nNotUsed, 0); + fprintf(stderr,"Memory leak in mutator: %lld bytes in %d allocations\n", + sqlite3_memory_used(), nAlloc); + exit(1); + } + memset(&cx, 0, sizeof(cx)); + iSql = decodeDatabase((unsigned char*)aData, (int)nByte, &aDb, &nDb); + if( iSql<0 ) return 0; + nSql = nByte - iSql; + if( eVerbosity>=2 ){ + printf( + "****** %d-byte input, %d-byte database, %d-byte script " + "******\n", (int)nByte, nDb, nSql); + fflush(stdout); + } + rc = sqlite3_open(0, &cx.db); + if( rc ) return 1; + if( bVdbeDebug ){ + sqlite3_exec(cx.db, "PRAGMA vdbe_debug=ON", 0, 0, 0); + } + + /* Invoke the progress handler frequently to check to see if we + ** are taking too long. The progress handler will return true + ** (which will block further processing) if more than iTimeout seconds have + ** elapsed since the start of the test. + */ + cx.iLastCb = timeOfDay(); + cx.iCutoffTime = cx.iLastCb + iTimeout; /* Now + iTimeout seconds */ + cx.mxCb = mxProgressCb; +#ifndef SQLITE_OMIT_PROGRESS_CALLBACK + sqlite3_progress_handler(cx.db, 10, progress_handler, (void*)&cx); +#endif + + /* Set a limit on the maximum size of a prepared statement, and the + ** maximum length of a string or blob */ + if( vdbeOpLimit>0 ){ + sqlite3_limit(cx.db, SQLITE_LIMIT_VDBE_OP, vdbeOpLimit); + } + if( lengthLimit>0 ){ + sqlite3_limit(cx.db, SQLITE_LIMIT_LENGTH, lengthLimit); + } + + if( nDb>=20 && aDb[18]==2 && aDb[19]==2 ){ + aDb[18] = aDb[19] = 1; + } + rc = sqlite3_deserialize(cx.db, "main", aDb, nDb, nDb, + SQLITE_DESERIALIZE_RESIZEABLE | + SQLITE_DESERIALIZE_FREEONCLOSE); + if( rc ){ + fprintf(stderr, "sqlite3_deserialize() failed with %d\n", rc); + goto testrun_finished; + } + if( maxDbSize>0 ){ + sqlite3_int64 x = maxDbSize; + sqlite3_file_control(cx.db, "main", SQLITE_FCNTL_SIZE_LIMIT, &x); + } + + /* Block debug pragmas and ATTACH/DETACH. But wait until after + ** deserialize to do this because deserialize depends on ATTACH */ + sqlite3_set_authorizer(cx.db, block_troublesome_sql, 0); + + /* Consistent PRNG seed */ + sqlite3_randomness(0,0); + + zSql = sqlite3_malloc( nSql + 1 ); + if( zSql==0 ){ + fprintf(stderr, "Out of memory!\n"); + }else{ + memcpy(zSql, aData+iSql, nSql); + zSql[nSql] = 0; + for(i=j=0; zSql[i]; i++){ + if( zSql[i]==';' ){ + char cSaved = zSql[i+1]; + zSql[i+1] = 0; + if( sqlite3_complete(zSql+j) ){ + rc = runDbSql(cx.db, zSql+j); + j = i+1; + } + zSql[i+1] = cSaved; + if( rc==SQLITE_INTERRUPT || progress_handler(&cx) ){ + goto testrun_finished; + } + } + } + if( j4 && memcmp(a,"\n--\n",4)==0 ) return 1; + while( n>0 && isspace(a[0]) ){ a++; n--; } + if( n>8 && memcmp(a,"53514c69",8)==0 ) return 1; + return 0; +} + + /* Methods for the VHandle object */ static int inmemClose(sqlite3_file *pFile){ @@ -951,6 +1393,7 @@ int main(int argc, char **argv){ if( strcmp(z,"quiet")==0 || strcmp(z,"q")==0 ){ quietFlag = 1; verboseFlag = 0; + eVerbosity = 0; }else if( strcmp(z,"rebuild")==0 ){ rebuildFlag = 1; @@ -976,8 +1419,18 @@ int main(int argc, char **argv){ if( strcmp(z,"verbose")==0 || strcmp(z,"v")==0 ){ quietFlag = 0; verboseFlag++; + eVerbosity++; if( verboseFlag>1 ) runFlags |= SQL_TRACE; }else + if( strcmp(z,"version")==0 ){ + int ii; + const char *z; + printf("SQLite %s %s\n", sqlite3_libversion(), sqlite3_sourceid()); + for(ii=0; (z = sqlite3_compileoption_get(ii))!=0; ii++){ + printf("%s\n", z); + } + return 0; + }else { fatalError("unknown option: %s", argv[i]); } @@ -1230,6 +1683,26 @@ int main(int argc, char **argv){ */ if( !verboseFlag && !quietFlag ) printf("%s:", zDbName); for(pSql=g.pFirstSql; pSql; pSql=pSql->pNext){ + if( isDbSql(pSql->a, pSql->sz) ){ + sqlite3_snprintf(sizeof(g.zTestName), g.zTestName, "sqlid=%d",pSql->id); + if( verboseFlag ){ + printf("%s\n", g.zTestName); + fflush(stdout); + }else if( !quietFlag ){ + static int prevAmt = -1; + int idx = pSql->seq; + int amt = idx*10/(g.nSql); + if( amt!=prevAmt ){ + printf(" %d%%", amt*10); + fflush(stdout); + prevAmt = amt; + } + } + runCombinedDbSqlInput(pSql->a, pSql->sz); + nTest++; + g.zTestName[0] = 0; + continue; + } for(pDb=g.pFirstDb; pDb; pDb=pDb->pNext){ int openFlags; const char *zVfs = "inmem"; diff --git a/test/fuzzdata8.db b/test/fuzzdata8.db new file mode 100644 index 0000000000000000000000000000000000000000..ba1723ee59d1590d47df19761fdf8c68da5a9cbe GIT binary patch literal 732160 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 literal 0 Hc-jL100001 -- 2.47.2