diff options
author | dan <dan@noemail.net> | 2010-02-23 11:05:26 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2010-02-23 11:05:26 +0000 |
commit | 39547b418b5dcb64de22a39acf6a25ca4d79cacc (patch) | |
tree | caf4e3759b1ac8d22cdac18baa232a4c75836e85 /src | |
parent | 9978c97ec5d480741365687534690f04bc8cc6e4 (diff) | |
download | sqlite-39547b418b5dcb64de22a39acf6a25ca4d79cacc.tar.gz sqlite-39547b418b5dcb64de22a39acf6a25ca4d79cacc.zip |
Fix a segfault that can occur if a malloc fails in ATTACH in shared-cache mode.
FossilOrigin-Name: e37137376a2b23062e2625b5285299b33630b326
Diffstat (limited to 'src')
-rw-r--r-- | src/attach.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/attach.c b/src/attach.c index 5b934de14..6f0acef94 100644 --- a/src/attach.c +++ b/src/attach.c @@ -147,8 +147,12 @@ static void attachFunc( sqlite3BtreeSecureDelete(aNew->pBt, sqlite3BtreeSecureDelete(db->aDb[0].pBt,-1) ); } - aNew->zName = sqlite3DbStrDup(db, zName); aNew->safety_level = 3; + aNew->zName = sqlite3DbStrDup(db, zName); + if( rc==SQLITE_OK && aNew->zName==0 ){ + rc = SQLITE_NOMEM; + } + #ifdef SQLITE_HAS_CODEC if( rc==SQLITE_OK ){ |