diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/build.c | 2 | ||||
-rw-r--r-- | src/date.c | 2 | ||||
-rw-r--r-- | src/prepare.c | 1 |
3 files changed, 4 insertions, 1 deletions
diff --git a/src/build.c b/src/build.c index 538a1e4d7..c7ba85fe7 100644 --- a/src/build.c +++ b/src/build.c @@ -4960,7 +4960,7 @@ SrcList *sqlite3SrcListAppendFromTerm( pItem->pUsing = pUsing; return p; - append_from_error: +append_from_error: assert( p==0 ); sqlite3ExprDelete(db, pOn); sqlite3IdListDelete(db, pUsing); diff --git a/src/date.c b/src/date.c index dcec9c7cc..f5b22d753 100644 --- a/src/date.c +++ b/src/date.c @@ -523,7 +523,9 @@ static int osLocaltime(time_t *t, struct tm *pTm){ if( sqlite3GlobalConfig.bLocaltimeFault ) pX = 0; #endif if( pX ) *pTm = *pX; +#if SQLITE_THREADSAFE>0 sqlite3_mutex_leave(mutex); +#endif rc = pX==0; #else #ifndef SQLITE_UNTESTABLE diff --git a/src/prepare.c b/src/prepare.c index 14b5dbad6..183a749a5 100644 --- a/src/prepare.c +++ b/src/prepare.c @@ -808,6 +808,7 @@ static int sqlite3LockAndPrepare( ** reset is considered a permanent error. */ rc = sqlite3Prepare(db, zSql, nBytes, prepFlags, pOld, ppStmt, pzTail); assert( rc==SQLITE_OK || *ppStmt==0 ); + if( rc==SQLITE_OK || db->mallocFailed ) break; }while( rc==SQLITE_ERROR_RETRY || (rc==SQLITE_SCHEMA && (sqlite3ResetOneSchema(db,-1), cnt++)==0) ); sqlite3BtreeLeaveAll(db); |