aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backup.c2
-rw-r--r--src/btree.c2
-rw-r--r--src/build.c1
-rw-r--r--src/fkey.c1
-rw-r--r--src/parse.y1
-rw-r--r--src/pcache.c1
-rw-r--r--src/pcache1.c1
-rw-r--r--src/select.c1
-rw-r--r--src/trigger.c1
-rw-r--r--src/vdbeaux.c3
-rw-r--r--src/vdbesort.c7
-rw-r--r--src/wal.c2
-rw-r--r--src/where.c1
-rw-r--r--src/window.c7
14 files changed, 28 insertions, 3 deletions
diff --git a/src/backup.c b/src/backup.c
index 2090b4978..5e9c974ae 100644
--- a/src/backup.c
+++ b/src/backup.c
@@ -619,8 +619,10 @@ int sqlite3_backup_finish(sqlite3_backup *p){
}
if( p->isAttached ){
pp = sqlite3PagerBackupPtr(sqlite3BtreePager(p->pSrc));
+ assert( pp!=0 );
while( *pp!=p ){
pp = &(*pp)->pNext;
+ assert( pp!=0 );
}
*pp = p->pNext;
}
diff --git a/src/btree.c b/src/btree.c
index 5f82f1cc0..db3b27923 100644
--- a/src/btree.c
+++ b/src/btree.c
@@ -7962,6 +7962,8 @@ static int balance_nonroot(
));
assert( sqlite3PagerIswriteable(pParent->pDbPage) );
+ assert( nNew>=1 && nNew<=ArraySize(apNew) );
+ assert( apNew[nNew-1]!=0 );
put4byte(pRight, apNew[nNew-1]->pgno);
/* If the sibling pages are not leaves, ensure that the right-child pointer
diff --git a/src/build.c b/src/build.c
index 53314593b..aa5a6f6a1 100644
--- a/src/build.c
+++ b/src/build.c
@@ -3629,6 +3629,7 @@ void sqlite3CreateIndex(
/* Gather the complete text of the CREATE INDEX statement into
** the zStmt variable
*/
+ assert( pName!=0 || pStart==0 );
if( pStart ){
int n = (int)(pParse->sLastToken.z - pName->z) + pParse->sLastToken.n;
if( pName->z[n-1]==';' ) n--;
diff --git a/src/fkey.c b/src/fkey.c
index 14ee983c5..67da6e6c7 100644
--- a/src/fkey.c
+++ b/src/fkey.c
@@ -1332,6 +1332,7 @@ static Trigger *fkActionTrigger(
return 0;
}
assert( pStep!=0 );
+ assert( pTrigger!=0 );
switch( action ){
case OE_Restrict:
diff --git a/src/parse.y b/src/parse.y
index fce4c00cd..f5727ade2 100644
--- a/src/parse.y
+++ b/src/parse.y
@@ -458,6 +458,7 @@ cmd ::= select(X). {
** SQLITE_LIMIT_COMPOUND_SELECT.
*/
static void parserDoubleLinkSelect(Parse *pParse, Select *p){
+ assert( p!=0 );
if( p->pPrior ){
Select *pNext = 0, *pLoop;
int mxSelect, cnt = 0;
diff --git a/src/pcache.c b/src/pcache.c
index 9125d5de3..36829be41 100644
--- a/src/pcache.c
+++ b/src/pcache.c
@@ -262,6 +262,7 @@ int sqlite3PcacheInitialize(void){
** built-in default page cache is used instead of the application defined
** page cache. */
sqlite3PCacheSetDefault();
+ assert( sqlite3GlobalConfig.pcache2.xInit!=0 );
}
return sqlite3GlobalConfig.pcache2.xInit(sqlite3GlobalConfig.pcache2.pArg);
}
diff --git a/src/pcache1.c b/src/pcache1.c
index c9d55866e..d0051433d 100644
--- a/src/pcache1.c
+++ b/src/pcache1.c
@@ -424,6 +424,7 @@ static PgHdr1 *pcache1AllocPage(PCache1 *pCache, int benignMalloc){
assert( sqlite3_mutex_held(pCache->pGroup->mutex) );
if( pCache->pFree || (pCache->nPage==0 && pcache1InitBulk(pCache)) ){
+ assert( pCache->pFree!=0 );
p = pCache->pFree;
pCache->pFree = p->pNext;
p->pNext = 0;
diff --git a/src/select.c b/src/select.c
index dc388b1f7..397037b17 100644
--- a/src/select.c
+++ b/src/select.c
@@ -3949,6 +3949,7 @@ static int flattenSubquery(
for(pParent=p; pParent; pParent=pParent->pPrior, pSub=pSub->pPrior){
int nSubSrc;
u8 jointype = 0;
+ assert( pSub!=0 );
pSubSrc = pSub->pSrc; /* FROM clause of subquery */
nSubSrc = pSubSrc->nSrc; /* Number of terms in subquery FROM clause */
pSrc = pParent->pSrc; /* FROM clause of the outer query */
diff --git a/src/trigger.c b/src/trigger.c
index c37f76da7..638d53dac 100644
--- a/src/trigger.c
+++ b/src/trigger.c
@@ -340,6 +340,7 @@ void sqlite3FinishTrigger(
Trigger *pLink = pTrig;
Hash *pHash = &db->aDb[iDb].pSchema->trigHash;
assert( sqlite3SchemaMutexHeld(db, iDb, 0) );
+ assert( pLink!=0 );
pTrig = sqlite3HashInsert(pHash, zName, pTrig);
if( pTrig ){
sqlite3OomFault(db);
diff --git a/src/vdbeaux.c b/src/vdbeaux.c
index 5781d8f21..4417cc63a 100644
--- a/src/vdbeaux.c
+++ b/src/vdbeaux.c
@@ -1907,8 +1907,11 @@ int sqlite3VdbeList(
** pick up the appropriate opcode. */
int j;
i -= p->nOp;
+ assert( apSub!=0 );
+ assert( nSub>0 );
for(j=0; i>=apSub[j]->nOp; j++){
i -= apSub[j]->nOp;
+ assert( i<apSub[j]->nOp || j+1<nSub );
}
pOp = &apSub[j]->aOp[i];
}
diff --git a/src/vdbesort.c b/src/vdbesort.c
index f909f812d..05590da7e 100644
--- a/src/vdbesort.c
+++ b/src/vdbesort.c
@@ -1728,13 +1728,16 @@ static int vdbeSorterFlushPMA(VdbeSorter *pSorter){
rc = vdbeSorterListToPMA(&pSorter->aTask[nWorker], &pSorter->list);
}else{
/* Launch a background thread for this operation */
- u8 *aMem = pTask->list.aMemory;
- void *pCtx = (void*)pTask;
+ u8 *aMem;
+ void *pCtx;
+ assert( pTask!=0 );
assert( pTask->pThread==0 && pTask->bDone==0 );
assert( pTask->list.pList==0 );
assert( pTask->list.aMemory==0 || pSorter->list.aMemory!=0 );
+ aMem = pTask->list.aMemory;
+ pCtx = (void*)pTask;
pSorter->iPrev = (u8)(pTask - pSorter->aTask);
pTask->list = pSorter->list;
pSorter->list.pList = 0;
diff --git a/src/wal.c b/src/wal.c
index 53a9e508b..669be9520 100644
--- a/src/wal.c
+++ b/src/wal.c
@@ -3478,6 +3478,7 @@ int sqlite3WalFrames(
if( rc ) return rc;
iOffset += szFrame;
nExtra++;
+ assert( pLast!=0 );
}
}
if( bSync ){
@@ -3510,6 +3511,7 @@ int sqlite3WalFrames(
iFrame++;
rc = walIndexAppend(pWal, iFrame, p->pgno);
}
+ assert( pLast!=0 || nExtra==0 );
while( rc==SQLITE_OK && nExtra>0 ){
iFrame++;
nExtra--;
diff --git a/src/where.c b/src/where.c
index f2ab125d2..f83f285b9 100644
--- a/src/where.c
+++ b/src/where.c
@@ -2270,6 +2270,7 @@ static void whereLoopOutputAdjust(
assert( (pLoop->wsFlags & WHERE_AUTO_INDEX)==0 );
for(i=pWC->nTerm, pTerm=pWC->a; i>0; i--, pTerm++){
+ assert( pTerm!=0 );
if( (pTerm->wtFlags & TERM_VIRTUAL)!=0 ) break;
if( (pTerm->prereqAll & pLoop->maskSelf)==0 ) continue;
if( (pTerm->prereqAll & notAllowed)!=0 ) continue;
diff --git a/src/window.c b/src/window.c
index ed39107b9..ff05aefb5 100644
--- a/src/window.c
+++ b/src/window.c
@@ -748,6 +748,8 @@ struct WindowRewrite {
static int selectWindowRewriteExprCb(Walker *pWalker, Expr *pExpr){
struct WindowRewrite *p = pWalker->u.pRewrite;
Parse *pParse = pWalker->pParse;
+ assert( p!=0 );
+ assert( p->pWin!=0 );
/* If this function is being called from within a scalar sub-select
** that used by the SELECT statement being processed, only process
@@ -847,6 +849,7 @@ static void selectWindowRewriteEList(
Walker sWalker;
WindowRewrite sRewrite;
+ assert( pWin!=0 );
memset(&sWalker, 0, sizeof(Walker));
memset(&sRewrite, 0, sizeof(WindowRewrite));
@@ -1567,8 +1570,10 @@ static void windowFullScan(WindowCodeArg *p){
int lblNext;
int lblBrk;
int addrNext;
- int csr = pMWin->csrApp;
+ int csr;
+ assert( pMWin!=0 );
+ csr = pMWin->csrApp;
nPeer = (pMWin->pOrderBy ? pMWin->pOrderBy->nExpr : 0);
lblNext = sqlite3VdbeMakeLabel(pParse);