aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/build.c2
-rw-r--r--src/date.c2
-rw-r--r--src/prepare.c1
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);