Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Enhance dbfuzz2 so that with the -v option it shows the return code and error message for any failing SQL statements. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
3a127ef9f7feafe6ba8c75e4eb29e28a |
User & Date: | drh 2019-02-04 19:45:26.504 |
Context
2019-02-04
| ||
19:50 | Add the -memtrace option to dbfuzz2. (check-in: 67fecbc79d user: drh tags: trunk) | |
19:45 | Enhance dbfuzz2 so that with the -v option it shows the return code and error message for any failing SQL statements. (check-in: 3a127ef9f7 user: drh tags: trunk) | |
19:12 | Ensure that the sqlite3_exec() callback gets the correct number of columns for a query, even if the schema changes out from under it. (check-in: a16ffb5a4b user: drh tags: trunk) | |
Changes
Changes to test/dbfuzz2.c.
︙ | ︙ | |||
78 79 80 81 82 83 84 85 86 87 88 89 90 91 | */ int LLVMFuzzerTestOneInput(const uint8_t *aData, size_t nByte){ unsigned char *a; sqlite3 *db; int rc; int i; sqlite3_int64 x; if( eVerbosity>=1 ){ printf("************** nByte=%d ***************\n", (int)nByte); fflush(stdout); } if( sqlite3_initialize() ) return 0; rc = sqlite3_open(0, &db); | > | 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | */ int LLVMFuzzerTestOneInput(const uint8_t *aData, size_t nByte){ unsigned char *a; sqlite3 *db; int rc; int i; sqlite3_int64 x; char *zErr = 0; if( eVerbosity>=1 ){ printf("************** nByte=%d ***************\n", (int)nByte); fflush(stdout); } if( sqlite3_initialize() ) return 0; rc = sqlite3_open(0, &db); |
︙ | ︙ | |||
102 103 104 105 106 107 108 | sqlite3_exec(db, "PRAGMA vdbe_debug=ON", 0, 0, 0); } for(i=0; i<sizeof(azSql)/sizeof(azSql[0]); i++){ if( eVerbosity>=1 ){ printf("%s\n", azSql[i]); fflush(stdout); } | > | > > > > | 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 | sqlite3_exec(db, "PRAGMA vdbe_debug=ON", 0, 0, 0); } for(i=0; i<sizeof(azSql)/sizeof(azSql[0]); i++){ if( eVerbosity>=1 ){ printf("%s\n", azSql[i]); fflush(stdout); } zErr = 0; rc = sqlite3_exec(db, azSql[i], 0, 0, &zErr); if( rc && eVerbosity>=1 ){ printf("-- rc=%d zErr=%s\n", rc, zErr); } sqlite3_free(zErr); } rc = sqlite3_close(db); if( rc!=SQLITE_OK ){ fprintf(stdout, "sqlite3_close() returns %d\n", rc); } if( sqlite3_memory_used()!=0 ){ int nAlloc = 0; |
︙ | ︙ |