diff options
author | danielk1977 <danielk1977@noemail.net> | 2009-02-26 07:15:59 +0000 |
---|---|---|
committer | danielk1977 <danielk1977@noemail.net> | 2009-02-26 07:15:59 +0000 |
commit | 02b4e3b34e1544fe7da63bb81afc827a86e0926b (patch) | |
tree | 9ad33936d89c347459769909da52ef22cb59e62e /src | |
parent | da10822a61207d89ed8ed157ddc80b0a0917bb3c (diff) | |
download | sqlite-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.c | 4 |
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 |