Fix harmless static analyzer warnings in sessions, rtree, fts3 and fts5.
Add the -DSQLITE_OMIT_AUXILIARY_SAFETY_CHECKS compile-time option to cause ALWAYS() and NEVER() macros to be omitted from the build. FossilOrigin-Name: 1c67f957fc77e37ce8f0d447c41ca975e8e79a35d332739c24a633649b5b0387
This commit is contained in:
parent
1076130a5d
commit
11a9ad5669
@ -15,6 +15,23 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#if !defined(SQLITE_AMALGAMATION)
|
||||||
|
#if defined(SQLITE_COVERAGE_TEST) || defined(SQLITE_MUTATION_TEST)
|
||||||
|
# define SQLITE_OMIT_AUXILIARY_SAFETY_CHECKS 1
|
||||||
|
#endif
|
||||||
|
#if defined(SQLITE_OMIT_AUXILIARY_SAFETY_CHECKS)
|
||||||
|
# define ALWAYS(X) (1)
|
||||||
|
# define NEVER(X) (0)
|
||||||
|
#elif !defined(NDEBUG)
|
||||||
|
# define ALWAYS(X) ((X)?1:(assert(0),0))
|
||||||
|
# define NEVER(X) ((X)?(assert(0),1):0)
|
||||||
|
#else
|
||||||
|
# define ALWAYS(X) (X)
|
||||||
|
# define NEVER(X) (X)
|
||||||
|
#endif
|
||||||
|
#endif /* !defined(SQLITE_AMALGAMATION) */
|
||||||
|
|
||||||
|
|
||||||
#ifndef SQLITE_OMIT_VIRTUALTABLE
|
#ifndef SQLITE_OMIT_VIRTUALTABLE
|
||||||
|
|
||||||
typedef sqlite3_int64 i64;
|
typedef sqlite3_int64 i64;
|
||||||
@ -741,9 +758,9 @@ static int idxGetTableInfo(
|
|||||||
if( rc!=SQLITE_OK ){
|
if( rc!=SQLITE_OK ){
|
||||||
sqlite3_free(pNew);
|
sqlite3_free(pNew);
|
||||||
pNew = 0;
|
pNew = 0;
|
||||||
}else{
|
}else if( ALWAYS(pNew!=0) ){
|
||||||
pNew->zName = pCsr;
|
pNew->zName = pCsr;
|
||||||
memcpy(pNew->zName, zTab, nTab+1);
|
if( ALWAYS(pNew->zName!=0) ) memcpy(pNew->zName, zTab, nTab+1);
|
||||||
}
|
}
|
||||||
|
|
||||||
*ppOut = pNew;
|
*ppOut = pNew;
|
||||||
|
@ -313,13 +313,6 @@ static int fts3EvalStart(Fts3Cursor *pCsr);
|
|||||||
static int fts3TermSegReaderCursor(
|
static int fts3TermSegReaderCursor(
|
||||||
Fts3Cursor *, const char *, int, int, Fts3MultiSegReader **);
|
Fts3Cursor *, const char *, int, int, Fts3MultiSegReader **);
|
||||||
|
|
||||||
#ifndef SQLITE_AMALGAMATION
|
|
||||||
# if defined(SQLITE_DEBUG)
|
|
||||||
int sqlite3Fts3Always(int b) { assert( b ); return b; }
|
|
||||||
int sqlite3Fts3Never(int b) { assert( !b ); return b; }
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** This variable is set to false when running tests for which the on disk
|
** This variable is set to false when running tests for which the on disk
|
||||||
** structures should not be corrupt. Otherwise, true. If it is false, extra
|
** structures should not be corrupt. Otherwise, true. If it is false, extra
|
||||||
|
@ -151,17 +151,18 @@ extern int sqlite3_fts3_may_be_corrupt;
|
|||||||
** Macros indicating that conditional expressions are always true or
|
** Macros indicating that conditional expressions are always true or
|
||||||
** false.
|
** false.
|
||||||
*/
|
*/
|
||||||
#ifdef SQLITE_COVERAGE_TEST
|
#if defined(SQLITE_COVERAGE_TEST) || defined(SQLITE_MUTATION_TEST)
|
||||||
# define ALWAYS(x) (1)
|
# define SQLITE_OMIT_AUXILIARY_SAFETY_CHECKS 1
|
||||||
# define NEVER(X) (0)
|
#endif
|
||||||
#elif defined(SQLITE_DEBUG)
|
#if defined(SQLITE_OMIT_AUXILIARY_SAFETY_CHECKS)
|
||||||
# define ALWAYS(x) sqlite3Fts3Always((x)!=0)
|
# define ALWAYS(X) (1)
|
||||||
# define NEVER(x) sqlite3Fts3Never((x)!=0)
|
# define NEVER(X) (0)
|
||||||
int sqlite3Fts3Always(int b);
|
#elif !defined(NDEBUG)
|
||||||
int sqlite3Fts3Never(int b);
|
# define ALWAYS(X) ((X)?1:(assert(0),0))
|
||||||
|
# define NEVER(X) ((X)?(assert(0),1):0)
|
||||||
#else
|
#else
|
||||||
# define ALWAYS(x) (x)
|
# define ALWAYS(X) (X)
|
||||||
# define NEVER(x) (x)
|
# define NEVER(X) (X)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -35,8 +35,19 @@ typedef sqlite3_uint64 u64;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define testcase(x)
|
#define testcase(x)
|
||||||
#define ALWAYS(x) 1
|
|
||||||
#define NEVER(x) 0
|
#ifdef SQLITE_COVERAGE_TEST
|
||||||
|
# define ALWAYS(x) (1)
|
||||||
|
# define NEVER(X) (0)
|
||||||
|
#elif defined(SQLITE_DEBUG)
|
||||||
|
# define ALWAYS(x) sqlite3Fts3Always((x)!=0)
|
||||||
|
# define NEVER(x) sqlite3Fts3Never((x)!=0)
|
||||||
|
int sqlite3Fts3Always(int b);
|
||||||
|
int sqlite3Fts3Never(int b);
|
||||||
|
#else
|
||||||
|
# define ALWAYS(x) (x)
|
||||||
|
# define NEVER(x) (x)
|
||||||
|
#endif
|
||||||
|
|
||||||
#define MIN(x,y) (((x) < (y)) ? (x) : (y))
|
#define MIN(x,y) (((x) < (y)) ? (x) : (y))
|
||||||
#define MAX(x,y) (((x) > (y)) ? (x) : (y))
|
#define MAX(x,y) (((x) > (y)) ? (x) : (y))
|
||||||
|
@ -434,6 +434,7 @@ static i64 fts5ExprSynonymRowid(Fts5ExprTerm *pTerm, int bDesc, int *pbEof){
|
|||||||
int bRetValid = 0;
|
int bRetValid = 0;
|
||||||
Fts5ExprTerm *p;
|
Fts5ExprTerm *p;
|
||||||
|
|
||||||
|
assert( pTerm );
|
||||||
assert( pTerm->pSynonym );
|
assert( pTerm->pSynonym );
|
||||||
assert( bDesc==0 || bDesc==1 );
|
assert( bDesc==0 || bDesc==1 );
|
||||||
for(p=pTerm; p; p=p->pSynonym){
|
for(p=pTerm; p; p=p->pSynonym){
|
||||||
|
@ -1773,6 +1773,7 @@ static void fts5SegIterInit(
|
|||||||
|
|
||||||
if( p->rc==SQLITE_OK ){
|
if( p->rc==SQLITE_OK ){
|
||||||
pIter->iLeafOffset = 4;
|
pIter->iLeafOffset = 4;
|
||||||
|
assert( pIter->pLeaf!=0 );
|
||||||
assert_nc( pIter->pLeaf->nn>4 );
|
assert_nc( pIter->pLeaf->nn>4 );
|
||||||
assert_nc( fts5LeafFirstTermOff(pIter->pLeaf)==4 );
|
assert_nc( fts5LeafFirstTermOff(pIter->pLeaf)==4 );
|
||||||
pIter->iPgidxOff = pIter->pLeaf->szLeaf+1;
|
pIter->iPgidxOff = pIter->pLeaf->szLeaf+1;
|
||||||
@ -2733,7 +2734,7 @@ static void fts5SegIterGotoPage(
|
|||||||
fts5SegIterNextPage(p, pIter);
|
fts5SegIterNextPage(p, pIter);
|
||||||
assert( p->rc!=SQLITE_OK || pIter->iLeafPgno==iLeafPgno );
|
assert( p->rc!=SQLITE_OK || pIter->iLeafPgno==iLeafPgno );
|
||||||
|
|
||||||
if( p->rc==SQLITE_OK ){
|
if( p->rc==SQLITE_OK && ALWAYS(pIter->pLeaf!=0) ){
|
||||||
int iOff;
|
int iOff;
|
||||||
u8 *a = pIter->pLeaf->p;
|
u8 *a = pIter->pLeaf->p;
|
||||||
int n = pIter->pLeaf->szLeaf;
|
int n = pIter->pLeaf->szLeaf;
|
||||||
@ -4475,7 +4476,7 @@ static void fts5IndexAutomerge(
|
|||||||
Fts5Structure **ppStruct, /* IN/OUT: Current structure of index */
|
Fts5Structure **ppStruct, /* IN/OUT: Current structure of index */
|
||||||
int nLeaf /* Number of output leaves just written */
|
int nLeaf /* Number of output leaves just written */
|
||||||
){
|
){
|
||||||
if( p->rc==SQLITE_OK && p->pConfig->nAutomerge>0 ){
|
if( p->rc==SQLITE_OK && p->pConfig->nAutomerge>0 && ALWAYS((*ppStruct)!=0) ){
|
||||||
Fts5Structure *pStruct = *ppStruct;
|
Fts5Structure *pStruct = *ppStruct;
|
||||||
u64 nWrite; /* Initial value of write-counter */
|
u64 nWrite; /* Initial value of write-counter */
|
||||||
int nWork; /* Number of work-quanta to perform */
|
int nWork; /* Number of work-quanta to perform */
|
||||||
@ -5837,7 +5838,7 @@ static int fts5QueryCksum(
|
|||||||
Fts5IndexIter *pIter = 0;
|
Fts5IndexIter *pIter = 0;
|
||||||
int rc = sqlite3Fts5IndexQuery(p, z, n, flags, 0, &pIter);
|
int rc = sqlite3Fts5IndexQuery(p, z, n, flags, 0, &pIter);
|
||||||
|
|
||||||
while( rc==SQLITE_OK && 0==sqlite3Fts5IterEof(pIter) ){
|
while( rc==SQLITE_OK && ALWAYS(pIter!=0) && 0==sqlite3Fts5IterEof(pIter) ){
|
||||||
i64 rowid = pIter->iRowid;
|
i64 rowid = pIter->iRowid;
|
||||||
|
|
||||||
if( eDetail==FTS5_DETAIL_NONE ){
|
if( eDetail==FTS5_DETAIL_NONE ){
|
||||||
|
@ -57,6 +57,9 @@ typedef UINT16_TYPE u16; /* 2-byte unsigned integer */
|
|||||||
#define MIN(a,b) ((a)<(b) ? (a) : (b))
|
#define MIN(a,b) ((a)<(b) ? (a) : (b))
|
||||||
|
|
||||||
#if defined(SQLITE_COVERAGE_TEST) || defined(SQLITE_MUTATION_TEST)
|
#if defined(SQLITE_COVERAGE_TEST) || defined(SQLITE_MUTATION_TEST)
|
||||||
|
# define SQLITE_OMIT_AUXILIARY_SAFETY_CHECKS 1
|
||||||
|
#endif
|
||||||
|
#if defined(SQLITE_OMIT_AUXILIARY_SAFETY_CHECKS)
|
||||||
# define ALWAYS(X) (1)
|
# define ALWAYS(X) (1)
|
||||||
# define NEVER(X) (0)
|
# define NEVER(X) (0)
|
||||||
#elif !defined(NDEBUG)
|
#elif !defined(NDEBUG)
|
||||||
|
@ -44,8 +44,19 @@ SQLITE_EXTENSION_INIT1
|
|||||||
# include <stdio.h>
|
# include <stdio.h>
|
||||||
# include <stdlib.h>
|
# include <stdlib.h>
|
||||||
# include <assert.h>
|
# include <assert.h>
|
||||||
# define ALWAYS(X) 1
|
# if defined(SQLITE_COVERAGE_TEST) || defined(SQLITE_MUTATION_TEST)
|
||||||
# define NEVER(X) 0
|
# define SQLITE_OMIT_AUXILIARY_SAFETY_CHECKS 1
|
||||||
|
# endif
|
||||||
|
# if defined(SQLITE_OMIT_AUXILIARY_SAFETY_CHECKS)
|
||||||
|
# define ALWAYS(X) (1)
|
||||||
|
# define NEVER(X) (0)
|
||||||
|
# elif !defined(NDEBUG)
|
||||||
|
# define ALWAYS(X) ((X)?1:(assert(0),0))
|
||||||
|
# define NEVER(X) ((X)?(assert(0),1):0)
|
||||||
|
# else
|
||||||
|
# define ALWAYS(X) (X)
|
||||||
|
# define NEVER(X) (X)
|
||||||
|
# endif
|
||||||
typedef unsigned char u8;
|
typedef unsigned char u8;
|
||||||
typedef unsigned short u16;
|
typedef unsigned short u16;
|
||||||
typedef unsigned int u32;
|
typedef unsigned int u32;
|
||||||
|
@ -1138,11 +1138,11 @@ static int geopolyOverlap(GeoPoly *p1, GeoPoly *p2){
|
|||||||
}else{
|
}else{
|
||||||
/* Remove a segment */
|
/* Remove a segment */
|
||||||
if( pActive==pThisEvent->pSeg ){
|
if( pActive==pThisEvent->pSeg ){
|
||||||
pActive = pActive->pNext;
|
pActive = ALWAYS(pActive) ? pActive->pNext : 0;
|
||||||
}else{
|
}else{
|
||||||
for(pSeg=pActive; pSeg; pSeg=pSeg->pNext){
|
for(pSeg=pActive; pSeg; pSeg=pSeg->pNext){
|
||||||
if( pSeg->pNext==pThisEvent->pSeg ){
|
if( pSeg->pNext==pThisEvent->pSeg ){
|
||||||
pSeg->pNext = pSeg->pNext->pNext;
|
pSeg->pNext = ALWAYS(pSeg->pNext) ? pSeg->pNext->pNext : 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -82,6 +82,9 @@ typedef unsigned int u32;
|
|||||||
# undef NDEBUG
|
# undef NDEBUG
|
||||||
#endif
|
#endif
|
||||||
#if defined(SQLITE_COVERAGE_TEST) || defined(SQLITE_MUTATION_TEST)
|
#if defined(SQLITE_COVERAGE_TEST) || defined(SQLITE_MUTATION_TEST)
|
||||||
|
# define SQLITE_OMIT_AUXILIARY_SAFETY_CHECKS 1
|
||||||
|
#endif
|
||||||
|
#if defined(SQLITE_OMIT_AUXILIARY_SAFETY_CHECKS)
|
||||||
# define ALWAYS(X) (1)
|
# define ALWAYS(X) (1)
|
||||||
# define NEVER(X) (0)
|
# define NEVER(X) (0)
|
||||||
#elif !defined(NDEBUG)
|
#elif !defined(NDEBUG)
|
||||||
@ -3859,6 +3862,7 @@ static void rtreenode(sqlite3_context *ctx, int nArg, sqlite3_value **apArg){
|
|||||||
tree.nDim2 = tree.nDim*2;
|
tree.nDim2 = tree.nDim*2;
|
||||||
tree.nBytesPerCell = 8 + 8 * tree.nDim;
|
tree.nBytesPerCell = 8 + 8 * tree.nDim;
|
||||||
node.zData = (u8 *)sqlite3_value_blob(apArg[1]);
|
node.zData = (u8 *)sqlite3_value_blob(apArg[1]);
|
||||||
|
if( node.zData==0 ) return;
|
||||||
nData = sqlite3_value_bytes(apArg[1]);
|
nData = sqlite3_value_bytes(apArg[1]);
|
||||||
if( nData<4 ) return;
|
if( nData<4 ) return;
|
||||||
if( nData<NCELL(&node)*tree.nBytesPerCell ) return;
|
if( nData<NCELL(&node)*tree.nBytesPerCell ) return;
|
||||||
|
@ -420,7 +420,7 @@ static int sessionSerializeValue(
|
|||||||
|
|
||||||
if( aBuf ){
|
if( aBuf ){
|
||||||
sessionVarintPut(&aBuf[1], n);
|
sessionVarintPut(&aBuf[1], n);
|
||||||
if( n ) memcpy(&aBuf[nVarint + 1], z, n);
|
if( n>0 ) memcpy(&aBuf[nVarint + 1], z, n);
|
||||||
}
|
}
|
||||||
|
|
||||||
nByte = 1 + nVarint + n;
|
nByte = 1 + nVarint + n;
|
||||||
@ -3651,11 +3651,11 @@ static int sessionChangesetInvert(
|
|||||||
}
|
}
|
||||||
|
|
||||||
assert( rc==SQLITE_OK );
|
assert( rc==SQLITE_OK );
|
||||||
if( pnInverted ){
|
if( pnInverted && ALWAYS(ppInverted) ){
|
||||||
*pnInverted = sOut.nBuf;
|
*pnInverted = sOut.nBuf;
|
||||||
*ppInverted = sOut.aBuf;
|
*ppInverted = sOut.aBuf;
|
||||||
sOut.aBuf = 0;
|
sOut.aBuf = 0;
|
||||||
}else if( sOut.nBuf>0 ){
|
}else if( sOut.nBuf>0 && ALWAYS(xOutput!=0) ){
|
||||||
rc = xOutput(pOut, sOut.aBuf, sOut.nBuf);
|
rc = xOutput(pOut, sOut.aBuf, sOut.nBuf);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4111,7 +4111,7 @@ static int sessionBindRow(
|
|||||||
|
|
||||||
for(i=0; rc==SQLITE_OK && i<nCol; i++){
|
for(i=0; rc==SQLITE_OK && i<nCol; i++){
|
||||||
if( !abPK || abPK[i] ){
|
if( !abPK || abPK[i] ){
|
||||||
sqlite3_value *pVal;
|
sqlite3_value *pVal = 0;
|
||||||
(void)xValue(pIter, i, &pVal);
|
(void)xValue(pIter, i, &pVal);
|
||||||
if( pVal==0 ){
|
if( pVal==0 ){
|
||||||
/* The value in the changeset was "undefined". This indicates a
|
/* The value in the changeset was "undefined". This indicates a
|
||||||
|
36
manifest
36
manifest
@ -1,5 +1,5 @@
|
|||||||
C Fix\sharmless\sstatic\sanalyzer\swarnings\sin\sauxiliary\sbuild\stools,\smkkeywordhash.c\nand\slemon.c.\s\sNo\schanges\sto\sthe\sSQLite\score.
|
C Fix\sharmless\sstatic\sanalyzer\swarnings\sin\ssessions,\srtree,\sfts3\sand\sfts5.\nAdd\sthe\s-DSQLITE_OMIT_AUXILIARY_SAFETY_CHECKS\scompile-time\soption\sto\scause\nALWAYS()\sand\sNEVER()\smacros\sto\sbe\somitted\sfrom\sthe\sbuild.
|
||||||
D 2021-10-04T16:14:51.752
|
D 2021-10-04T18:21:14.780
|
||||||
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
||||||
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
||||||
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
|
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
|
||||||
@ -51,7 +51,7 @@ F ext/async/sqlite3async.h 46b47c79357b97ad85d20d2795942c0020dc20c532114a4980828
|
|||||||
F ext/expert/README.md b321c2762bb93c18ea102d5a5f7753a4b8bac646cb392b3b437f633caf2020c3
|
F ext/expert/README.md b321c2762bb93c18ea102d5a5f7753a4b8bac646cb392b3b437f633caf2020c3
|
||||||
F ext/expert/expert.c d548d603a4cc9e61f446cc179c120c6713511c413f82a4a32b1e1e69d3f086a4
|
F ext/expert/expert.c d548d603a4cc9e61f446cc179c120c6713511c413f82a4a32b1e1e69d3f086a4
|
||||||
F ext/expert/expert1.test 3c642a4e7bbb14f21ddab595436fb465a4733f47a0fe5b2855e1d5ff900ef08e
|
F ext/expert/expert1.test 3c642a4e7bbb14f21ddab595436fb465a4733f47a0fe5b2855e1d5ff900ef08e
|
||||||
F ext/expert/sqlite3expert.c bee71c524ab33441f0eae46b39691b9d348d1960d9274e834520ea6c573b542e
|
F ext/expert/sqlite3expert.c 921a00823a826150cbb9a3341285a8edec7533480b71281e77737f19559b4b14
|
||||||
F ext/expert/sqlite3expert.h ca81efc2679a92373a13a3e76a6138d0310e32be53d6c3bfaedabd158ea8969b
|
F ext/expert/sqlite3expert.h ca81efc2679a92373a13a3e76a6138d0310e32be53d6c3bfaedabd158ea8969b
|
||||||
F ext/expert/test_expert.c d56c194b769bdc90cf829a14c9ecbc1edca9c850b837a4d0b13be14095c32a72
|
F ext/expert/test_expert.c d56c194b769bdc90cf829a14c9ecbc1edca9c850b837a4d0b13be14095c32a72
|
||||||
F ext/fts1/README.txt 20ac73b006a70bcfd80069bdaf59214b6cf1db5e
|
F ext/fts1/README.txt 20ac73b006a70bcfd80069bdaf59214b6cf1db5e
|
||||||
@ -84,9 +84,9 @@ F ext/fts3/README.content b9078d0843a094d86af0d48dffbff13c906702b4c3558012e67b9c
|
|||||||
F ext/fts3/README.syntax a19711dc5458c20734b8e485e75fb1981ec2427a
|
F ext/fts3/README.syntax a19711dc5458c20734b8e485e75fb1981ec2427a
|
||||||
F ext/fts3/README.tokenizers b92bdeb8b46503f0dd301d364efc5ef59ef9fa8e2758b8e742f39fa93a2e422d
|
F ext/fts3/README.tokenizers b92bdeb8b46503f0dd301d364efc5ef59ef9fa8e2758b8e742f39fa93a2e422d
|
||||||
F ext/fts3/README.txt 8c18f41574404623b76917b9da66fcb0ab38328d
|
F ext/fts3/README.txt 8c18f41574404623b76917b9da66fcb0ab38328d
|
||||||
F ext/fts3/fts3.c 95f55e24550c01c2a325d09c9ea8fdff61e923a4675f8545b28bf3c470e57dfb
|
F ext/fts3/fts3.c 957237610d2938d4ec694fa6aed02140f1af6256b08f831a5a38657dcb3fa711
|
||||||
F ext/fts3/fts3.h 3a10a0af180d502cecc50df77b1b22df142817fe
|
F ext/fts3/fts3.h 3a10a0af180d502cecc50df77b1b22df142817fe
|
||||||
F ext/fts3/fts3Int.h bde280294d56ff50ee29d03e5140f0b6953b44d1c969bb5831e8ae85e3e76715
|
F ext/fts3/fts3Int.h 07cf1abc14140973c8f7f5e3035e9fe5c9f0fc04785c38821540a177ec32fca8
|
||||||
F ext/fts3/fts3_aux.c 1af58af8f2b00a49f4fb1c2602f8da2054ad60076f46c8ebf85c5410eccccb65
|
F ext/fts3/fts3_aux.c 1af58af8f2b00a49f4fb1c2602f8da2054ad60076f46c8ebf85c5410eccccb65
|
||||||
F ext/fts3/fts3_expr.c 5853cd7a35a79d193614add9b4c461b2d56f465d90899ca4309f05d9d1536558
|
F ext/fts3/fts3_expr.c 5853cd7a35a79d193614add9b4c461b2d56f465d90899ca4309f05d9d1536558
|
||||||
F ext/fts3/fts3_hash.c 8b6e31bfb0844c27dc6092c2620bdb1fca17ed613072db057d96952c6bdb48b7
|
F ext/fts3/fts3_hash.c 8b6e31bfb0844c27dc6092c2620bdb1fca17ed613072db057d96952c6bdb48b7
|
||||||
@ -113,13 +113,13 @@ F ext/fts3/unicode/mkunicode.tcl d5aebf022fa4577ee8cdf27468f0d847879993959101f6d
|
|||||||
F ext/fts3/unicode/parseunicode.tcl a981bd6466d12dd17967515801c3ff23f74a281be1a03cf1e6f52a6959fc77eb
|
F ext/fts3/unicode/parseunicode.tcl a981bd6466d12dd17967515801c3ff23f74a281be1a03cf1e6f52a6959fc77eb
|
||||||
F ext/fts5/extract_api_docs.tcl a36e54ec777172ddd3f9a88daf593b00848368e0
|
F ext/fts5/extract_api_docs.tcl a36e54ec777172ddd3f9a88daf593b00848368e0
|
||||||
F ext/fts5/fts5.h c132a9323f22a972c4c93a8d5a3d901113a6e612faf30ca8e695788438c5ca2a
|
F ext/fts5/fts5.h c132a9323f22a972c4c93a8d5a3d901113a6e612faf30ca8e695788438c5ca2a
|
||||||
F ext/fts5/fts5Int.h 49c1ef3aa6edabd235ce57bc3749453078d69aa02171fe3f361bcf159d1ebd62
|
F ext/fts5/fts5Int.h ff24689b6e641dd41c21e21d305edd2557a8dd3eb66d52463ed2a458f898d30e
|
||||||
F ext/fts5/fts5_aux.c f558e1fb9f0f86a4f7489e258c162e1f947de5ff2709087fbb465fddb7092f98
|
F ext/fts5/fts5_aux.c f558e1fb9f0f86a4f7489e258c162e1f947de5ff2709087fbb465fddb7092f98
|
||||||
F ext/fts5/fts5_buffer.c 89a51b37c4aa1c02c1ec24c18c55196c0693b29a752fedfd036938df59a1347f
|
F ext/fts5/fts5_buffer.c 89a51b37c4aa1c02c1ec24c18c55196c0693b29a752fedfd036938df59a1347f
|
||||||
F ext/fts5/fts5_config.c 8336d0ff6db0933f63cfec8ae0ab76e68393259cbccc0b46e1f79f7fa1842ff3
|
F ext/fts5/fts5_config.c 8336d0ff6db0933f63cfec8ae0ab76e68393259cbccc0b46e1f79f7fa1842ff3
|
||||||
F ext/fts5/fts5_expr.c 6ea447b0cb1888110087a8c04133817b0ccf964fe22414371b0e32189a556533
|
F ext/fts5/fts5_expr.c 11cc2acd3d73fba0af0041a6887c49e8f54ac4d314fc3489cfdfc10836945ada
|
||||||
F ext/fts5/fts5_hash.c 1aa93c9b5f461afba66701ee226297dc78402b3bdde81e90a10de5fe3df14959
|
F ext/fts5/fts5_hash.c 1aa93c9b5f461afba66701ee226297dc78402b3bdde81e90a10de5fe3df14959
|
||||||
F ext/fts5/fts5_index.c b5df80b2f27cd4d0858fa22679fbd144a3f4a812e0392866108dab95e6a78ff0
|
F ext/fts5/fts5_index.c 7d38db1d89cd1d0488d452c7eed725a612dec4df9346efec5dca76674e7ff1a0
|
||||||
F ext/fts5/fts5_main.c 35ebbcae681a4a40027c47bc2e94d7e7c81e331dc406bb9b23c546454ee8f98a
|
F ext/fts5/fts5_main.c 35ebbcae681a4a40027c47bc2e94d7e7c81e331dc406bb9b23c546454ee8f98a
|
||||||
F ext/fts5/fts5_storage.c 58ba71e6cd3d43a5735815e7956ee167babb4d2cbfe206905174792af4d09d75
|
F ext/fts5/fts5_storage.c 58ba71e6cd3d43a5735815e7956ee167babb4d2cbfe206905174792af4d09d75
|
||||||
F ext/fts5/fts5_tcl.c b1445cbe69908c411df8084a10b2485500ac70a9c747cdc8cda175a3da59d8ae
|
F ext/fts5/fts5_tcl.c b1445cbe69908c411df8084a10b2485500ac70a9c747cdc8cda175a3da59d8ae
|
||||||
@ -338,7 +338,7 @@ F ext/misc/vfsstat.c 474d08efc697b8eba300082cb1eb74a5f0f3df31ed257db1cb07e72ab0e
|
|||||||
F ext/misc/vtablog.c 5538acd0c8ddaae372331bee11608d76973436b77d6a91e8635cfc9432fba5ae
|
F ext/misc/vtablog.c 5538acd0c8ddaae372331bee11608d76973436b77d6a91e8635cfc9432fba5ae
|
||||||
F ext/misc/vtshim.c 1976e6dd68dd0d64508c91a6dfab8e75f8aaf6cd
|
F ext/misc/vtshim.c 1976e6dd68dd0d64508c91a6dfab8e75f8aaf6cd
|
||||||
F ext/misc/wholenumber.c a838d1bea913c514ff316c69695efbb49ea3b8cb37d22afc57f73b6b010b4546
|
F ext/misc/wholenumber.c a838d1bea913c514ff316c69695efbb49ea3b8cb37d22afc57f73b6b010b4546
|
||||||
F ext/misc/zipfile.c 9078475440114135594322cdf137f5475acfca5ab22af21a3f3e65ba38d2de20
|
F ext/misc/zipfile.c 5dcbbdae13ba45db5d3843b6f32a8f99df7ab0349a704857a3000618f9ea9ecb
|
||||||
F ext/misc/zorder.c b0ff58fa643afa1d846786d51ea8d5c4b6b35aa0254ab5a82617db92f3adda64
|
F ext/misc/zorder.c b0ff58fa643afa1d846786d51ea8d5c4b6b35aa0254ab5a82617db92f3adda64
|
||||||
F ext/rbu/rbu.c 801450b24eaf14440d8fd20385aacc751d5c9d6123398df41b1b5aa804bf4ce8
|
F ext/rbu/rbu.c 801450b24eaf14440d8fd20385aacc751d5c9d6123398df41b1b5aa804bf4ce8
|
||||||
F ext/rbu/rbu1.test c62904bd9526dcdc3496a21199aaf14ae191bbadbf67f076bf16be6b3f2115c2
|
F ext/rbu/rbu1.test c62904bd9526dcdc3496a21199aaf14ae191bbadbf67f076bf16be6b3f2115c2
|
||||||
@ -384,7 +384,7 @@ F ext/rbu/sqlite3rbu.c d020eda938e3ed1c5227a7e1425751a9870f5d143542d806f8098c8cf
|
|||||||
F ext/rbu/sqlite3rbu.h 1dc88ab7bd32d0f15890ea08d23476c4198d3da3056985403991f8c9cd389812
|
F ext/rbu/sqlite3rbu.h 1dc88ab7bd32d0f15890ea08d23476c4198d3da3056985403991f8c9cd389812
|
||||||
F ext/rbu/test_rbu.c 03f6f177096a5f822d68d8e4069ad8907fe572c62ff2d19b141f59742821828a
|
F ext/rbu/test_rbu.c 03f6f177096a5f822d68d8e4069ad8907fe572c62ff2d19b141f59742821828a
|
||||||
F ext/repair/README.md 92f5e8aae749a4dae14f02eea8e1bb42d4db2b6ce5e83dbcdd6b1446997e0c15
|
F ext/repair/README.md 92f5e8aae749a4dae14f02eea8e1bb42d4db2b6ce5e83dbcdd6b1446997e0c15
|
||||||
F ext/repair/checkfreelist.c 0dbae18c1b552f58d64f8969e4fb1e7f11930c60a8c2a9a8d50b7f15bdfd54bd
|
F ext/repair/checkfreelist.c e21f06995ff4efdc1622dcceaea4dcba2caa83ca2f31a1607b98a8509168a996
|
||||||
F ext/repair/checkindex.c 4383e4469c21e5b9ae321d0d63cec53e981af9d7a6564be6374f0eeb93dfc890
|
F ext/repair/checkindex.c 4383e4469c21e5b9ae321d0d63cec53e981af9d7a6564be6374f0eeb93dfc890
|
||||||
F ext/repair/sqlite3_checker.c.in 4a5a3af3f450fe503e5a2985e98516dc2a6b9ad247449e284c1cf140fc91720f
|
F ext/repair/sqlite3_checker.c.in 4a5a3af3f450fe503e5a2985e98516dc2a6b9ad247449e284c1cf140fc91720f
|
||||||
F ext/repair/sqlite3_checker.tcl a9a2caa9660567257c177a91124d8c0dccdfa341e25c51e6da7f1fd9e601eafa
|
F ext/repair/sqlite3_checker.tcl a9a2caa9660567257c177a91124d8c0dccdfa341e25c51e6da7f1fd9e601eafa
|
||||||
@ -393,8 +393,8 @@ F ext/repair/test/checkfreelist01.test 3e8aa6aeb4007680c94a8d07b41c339aa635cc782
|
|||||||
F ext/repair/test/checkindex01.test b530f141413b587c9eb78ff734de6bb79bc3515c335096108c12c01bddbadcec
|
F ext/repair/test/checkindex01.test b530f141413b587c9eb78ff734de6bb79bc3515c335096108c12c01bddbadcec
|
||||||
F ext/repair/test/test.tcl 686d76d888dffd021f64260abf29a55c57b2cedfa7fc69150b42b1d6119aac3c
|
F ext/repair/test/test.tcl 686d76d888dffd021f64260abf29a55c57b2cedfa7fc69150b42b1d6119aac3c
|
||||||
F ext/rtree/README 6315c0d73ebf0ec40dedb5aa0e942bc8b54e3761
|
F ext/rtree/README 6315c0d73ebf0ec40dedb5aa0e942bc8b54e3761
|
||||||
F ext/rtree/geopoly.c 98d45533989e908bf65b43f36ff6eaad95a9ffe6f3b6b8658fbd47d45c58b10b
|
F ext/rtree/geopoly.c d575f6c796fcb8066fb38e3d5c604b31a13867fbee2713ffb190eff31e7bc04d
|
||||||
F ext/rtree/rtree.c 03b238f2134bac3cffeffa03f70cac3b23c9329ab865a73bb0242bfd2f19daf8
|
F ext/rtree/rtree.c 4e1ba7894720c33b710fb1c393a559c9faa1b0e238746006bb5d9c30a6238b2b
|
||||||
F ext/rtree/rtree.h 4a690463901cb5e6127cf05eb8e642f127012fd5003830dbc974eca5802d9412
|
F ext/rtree/rtree.h 4a690463901cb5e6127cf05eb8e642f127012fd5003830dbc974eca5802d9412
|
||||||
F ext/rtree/rtree1.test 35c3bc0def71317b7601ee0d1149e7df2cd8fc4f13ec89a64761ac3f46ca123f
|
F ext/rtree/rtree1.test 35c3bc0def71317b7601ee0d1149e7df2cd8fc4f13ec89a64761ac3f46ca123f
|
||||||
F ext/rtree/rtree2.test 9d9deddbb16fd0c30c36e6b4fdc3ee3132d765567f0f9432ee71e1303d32603d
|
F ext/rtree/rtree2.test 9d9deddbb16fd0c30c36e6b4fdc3ee3132d765567f0f9432ee71e1303d32603d
|
||||||
@ -462,7 +462,7 @@ F ext/session/sessionrebase.test ccfa716b23bd1d3b03217ee58cfd90c78d4b99f53e6a9a2
|
|||||||
F ext/session/sessionsize.test 6f644aff31c7f1e4871e9ff3542766e18da68fc7e587b83a347ea9820a002dd8
|
F ext/session/sessionsize.test 6f644aff31c7f1e4871e9ff3542766e18da68fc7e587b83a347ea9820a002dd8
|
||||||
F ext/session/sessionstat1.test 218d351cf9fcd6648f125a26b607b140310160184723c2666091b54450a68fb5
|
F ext/session/sessionstat1.test 218d351cf9fcd6648f125a26b607b140310160184723c2666091b54450a68fb5
|
||||||
F ext/session/sessionwor.test 6fd9a2256442cebde5b2284936ae9e0d54bde692d0f5fd009ecef8511f4cf3fc
|
F ext/session/sessionwor.test 6fd9a2256442cebde5b2284936ae9e0d54bde692d0f5fd009ecef8511f4cf3fc
|
||||||
F ext/session/sqlite3session.c af0cb1163e224b286a9cba3c1ad877d927821e6a0e317c29b289a16e5da378a8
|
F ext/session/sqlite3session.c c710a6e34b6635794102dcd1ed2d594aa08e2d2ae6487ca4111e56c165dbce91
|
||||||
F ext/session/sqlite3session.h 0907de79bc13a2e3af30a6dc29acc60792a3eaf7d33d44cf52500d0f3c2b2171
|
F ext/session/sqlite3session.h 0907de79bc13a2e3af30a6dc29acc60792a3eaf7d33d44cf52500d0f3c2b2171
|
||||||
F ext/session/test_session.c f433f68a8a8c64b0f5bc74dc725078f12483301ad4ae8375205eef790274a787
|
F ext/session/test_session.c f433f68a8a8c64b0f5bc74dc725078f12483301ad4ae8375205eef790274a787
|
||||||
F ext/userauth/sqlite3userauth.h 7f3ea8c4686db8e40b0a0e7a8e0b00fac13aa7a3
|
F ext/userauth/sqlite3userauth.h 7f3ea8c4686db8e40b0a0e7a8e0b00fac13aa7a3
|
||||||
@ -550,11 +550,11 @@ F src/random.c 097dc8b31b8fba5a9aca1697aeb9fd82078ec91be734c16bffda620ced7ab83c
|
|||||||
F src/resolve.c b9e60afa56d0484ee573aba54d9e73603736236df33d2ae3421b4cd0367d907d
|
F src/resolve.c b9e60afa56d0484ee573aba54d9e73603736236df33d2ae3421b4cd0367d907d
|
||||||
F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92
|
F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92
|
||||||
F src/select.c c4f14e9aaa2f7c821be721f79ee578a82d4efeef5797f9673feb82750582ae80
|
F src/select.c c4f14e9aaa2f7c821be721f79ee578a82d4efeef5797f9673feb82750582ae80
|
||||||
F src/shell.c.in 923671ae56ad899db71296d0ebefea9c85e7e52ef087c8a097f3f3a3a3ade98c
|
F src/shell.c.in ac685e63c506fb2e39375c83347c88bff84dc48fa5d6a59f508d7d67951693a0
|
||||||
F src/sqlite.h.in 4e977a5e2ed1a9e8987ff65a2cab5f99a4298ebf040ea5ff636e1753339ff45a
|
F src/sqlite.h.in 4e977a5e2ed1a9e8987ff65a2cab5f99a4298ebf040ea5ff636e1753339ff45a
|
||||||
F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
|
F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
|
||||||
F src/sqlite3ext.h e97f4e9b509408fea4c4e9bef5a41608dfac343b4d3c7a990dedde1e19af9510
|
F src/sqlite3ext.h e97f4e9b509408fea4c4e9bef5a41608dfac343b4d3c7a990dedde1e19af9510
|
||||||
F src/sqliteInt.h e105aa8ec699c8c247117b99080b49c175b013493f9938bd411f00d839a381dc
|
F src/sqliteInt.h ef9b68563e05d0da80cd291e7486bcc3ca7b787aae35b04b9285277957c2648a
|
||||||
F src/sqliteLimit.h d7323ffea5208c6af2734574bae933ca8ed2ab728083caa117c9738581a31657
|
F src/sqliteLimit.h d7323ffea5208c6af2734574bae933ca8ed2ab728083caa117c9738581a31657
|
||||||
F src/status.c 4b8bc2a6905163a38b739854a35b826c737333fab5b1f8e03fa7eb9a4799c4c1
|
F src/status.c 4b8bc2a6905163a38b739854a35b826c737333fab5b1f8e03fa7eb9a4799c4c1
|
||||||
F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1
|
F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1
|
||||||
@ -1929,7 +1929,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 1ebcde72e2046dffaa408d2a5a4a5bbf35fdf4b096e0e088dcffd9360effdaa7
|
P f2f279b2cc1c8b3b162058c33956be4037cd519715ac0c4290f10c58d2528f0a
|
||||||
R 460df5fa70f5b978400f9f41b6eef0a4
|
R 3c35f5ee3afb57355fb7bdf18fbfd8fc
|
||||||
U drh
|
U drh
|
||||||
Z a4e1f535f3f3f44fafce7d2809ef8d9a
|
Z d5b73332feee812a90444e7b74de370f
|
||||||
|
@ -1 +1 @@
|
|||||||
f2f279b2cc1c8b3b162058c33956be4037cd519715ac0c4290f10c58d2528f0a
|
1c67f957fc77e37ce8f0d447c41ca975e8e79a35d332739c24a633649b5b0387
|
@ -856,7 +856,7 @@ static void appendText(ShellText *p, char const *zAppend, char quote){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if( p->n+len>=p->nAlloc ){
|
if( p->z==0 || p->n+len>=p->nAlloc ){
|
||||||
p->nAlloc = p->nAlloc*2 + len + 20;
|
p->nAlloc = p->nAlloc*2 + len + 20;
|
||||||
p->z = realloc(p->z, p->nAlloc);
|
p->z = realloc(p->z, p->nAlloc);
|
||||||
if( p->z==0 ) shell_out_of_memory();
|
if( p->z==0 ) shell_out_of_memory();
|
||||||
|
@ -469,6 +469,14 @@
|
|||||||
# define VVA_ONLY(X)
|
# define VVA_ONLY(X)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Disable ALWAYS() and NEVER() (make them pass-throughs) for coverage
|
||||||
|
** and mutation testing
|
||||||
|
*/
|
||||||
|
#if defined(SQLITE_COVERATE_TEST) || defined(SQLITE_MUTATION_TEST)
|
||||||
|
# define SQLITE_OMIT_AUXILIARY_SAFETY_CHECKS 1
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** The ALWAYS and NEVER macros surround boolean expressions which
|
** The ALWAYS and NEVER macros surround boolean expressions which
|
||||||
** are intended to always be true or false, respectively. Such
|
** are intended to always be true or false, respectively. Such
|
||||||
@ -484,7 +492,7 @@
|
|||||||
** be true and false so that the unreachable code they specify will
|
** be true and false so that the unreachable code they specify will
|
||||||
** not be counted as untested code.
|
** not be counted as untested code.
|
||||||
*/
|
*/
|
||||||
#if defined(SQLITE_COVERAGE_TEST) || defined(SQLITE_MUTATION_TEST)
|
#if defined(SQLITE_OMIT_AUXILIARY_SAFETY_CHECKS)
|
||||||
# define ALWAYS(X) (1)
|
# define ALWAYS(X) (1)
|
||||||
# define NEVER(X) (0)
|
# define NEVER(X) (0)
|
||||||
#elif !defined(NDEBUG)
|
#elif !defined(NDEBUG)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user