aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordanielk1977 <danielk1977@noemail.net>2009-02-26 07:15:59 +0000
committerdanielk1977 <danielk1977@noemail.net>2009-02-26 07:15:59 +0000
commit02b4e3b34e1544fe7da63bb81afc827a86e0926b (patch)
tree9ad33936d89c347459769909da52ef22cb59e62e /src
parentda10822a61207d89ed8ed157ddc80b0a0917bb3c (diff)
downloadsqlite-02b4e3b34e1544fe7da63bb81afc827a86e0926b.tar.gz
sqlite-02b4e3b34e1544fe7da63bb81afc827a86e0926b.zip
In sqlite3_table_column_metadata(), hold the mutex on all attached BtShared objects while accessing schema objects. Fix for #3679. (CVS 6328)
FossilOrigin-Name: d197afd658eecfc0e24913e5a779c8f1e2a138a6
Diffstat (limited to 'src')
-rw-r--r--src/main.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/main.c b/src/main.c
index 9b4578afe..e4f92e8f0 100644
--- a/src/main.c
+++ b/src/main.c
@@ -14,7 +14,7 @@
** other files are for internal use by SQLite and should not be
** accessed by users of the library.
**
-** $Id: main.c,v 1.529 2009/02/23 14:42:53 danielk1977 Exp $
+** $Id: main.c,v 1.530 2009/02/26 07:15:59 danielk1977 Exp $
*/
#include "sqliteInt.h"
@@ -1933,7 +1933,6 @@ int sqlite3_table_column_metadata(
(void)sqlite3SafetyOn(db);
sqlite3BtreeEnterAll(db);
rc = sqlite3Init(db, &zErrMsg);
- sqlite3BtreeLeaveAll(db);
if( SQLITE_OK!=rc ){
goto error_out;
}
@@ -1989,6 +1988,7 @@ int sqlite3_table_column_metadata(
}
error_out:
+ sqlite3BtreeLeaveAll(db);
(void)sqlite3SafetyOff(db);
/* Whether the function call succeeded or failed, set the output parameters