From a4267dcc69d02509deb84fbd0d64c1a9d88fa30c Mon Sep 17 00:00:00 2001 From: drh Date: Tue, 19 Feb 2008 15:20:44 +0000 Subject: [PATCH] Make sure SQLITE_OPEN_DELETEONCLOSE is ignored by sqlite3_open_v2(). (CVS 4798) FossilOrigin-Name: 33e26f6adf2ec2ab2e2711a8f86ce4cb11544e61 --- manifest | 12 ++++++------ manifest.uuid | 2 +- src/main.c | 13 ++++++++++++- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/manifest b/manifest index 0ed3cdf47e..367879339f 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Change\snon-exported\smemory\sinterfaces\sto\sfollowing\sthe\snaming\sconventions.\s(CVS\s4797) -D 2008-02-19T15:15:16 +C Make\ssure\sSQLITE_OPEN_DELETEONCLOSE\sis\signored\sby\ssqlite3_open_v2().\s(CVS\s4798) +D 2008-02-19T15:20:44 F Makefile.arm-wince-mingw32ce-gcc ac5f7b2cef0cd850d6f755ba6ee4ab961b1fadf7 F Makefile.in bc2b5df3e3d0d4b801b824b7ef6dec43812b049b F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -103,7 +103,7 @@ F src/journal.c 807bed7a158979ac8d63953e1774e8d85bff65e2 F src/legacy.c cb1939fdeb91ea88fb44fbd2768a10e14bc44650 F src/limits.h 71ab25f17e35e0a9f3f6f234b8ed49cc56731d35 F src/loadext.c d17a0f760d6866aacf5262f97d8efaaad379cdd7 -F src/main.c b4014b71979a58d6aa79549fdf87175ab7bdf1cc +F src/main.c 56f208ef8a06dd7474e65c591ad1d459ada2b6ed F src/malloc.c 60e392a4c12c839517f9b0db7b995f825444fb35 F src/md5.c c5fdfa5c2593eaee2e32a5ce6c6927c986eaf217 F src/mem1.c 62a821702d3292809ca78e7c55c3ca04b05a3757 @@ -621,7 +621,7 @@ F www/tclsqlite.tcl 8be95ee6dba05eabcd27a9d91331c803f2ce2130 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5 -P 8fdbe4abab4e9c292111579b03471f68c1e855fb -R ffd2f20a735264530a3840b731c9c29f +P 94774b41429c8bfa3582e30c09f414b9e5669575 +R 293540c23c15806e7d5dede170b832e5 U drh -Z c45d168ad6e6cadeaabc43c10b516ff1 +Z 96dc1027991fc57641f419200eb92fc3 diff --git a/manifest.uuid b/manifest.uuid index f3bc160797..1e647449e3 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -94774b41429c8bfa3582e30c09f414b9e5669575 \ No newline at end of file +33e26f6adf2ec2ab2e2711a8f86ce4cb11544e61 \ No newline at end of file diff --git a/src/main.c b/src/main.c index 5f878f0c1f..cb12c213bb 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.417 2008/01/31 15:31:02 danielk1977 Exp $ +** $Id: main.c,v 1.418 2008/02/19 15:20:44 drh Exp $ */ #include "sqliteInt.h" #include @@ -944,6 +944,17 @@ static int openDatabase( int rc; CollSeq *pColl; + /* Remove harmful bits from the flags parameter */ + flags &= ~( SQLITE_OPEN_DELETEONCLOSE | + SQLITE_OPEN_MAIN_DB | + SQLITE_OPEN_TEMP_DB | + SQLITE_OPEN_TRANSIENT_DB | + SQLITE_OPEN_MAIN_JOURNAL | + SQLITE_OPEN_TEMP_JOURNAL | + SQLITE_OPEN_SUBJOURNAL | + SQLITE_OPEN_MASTER_JOURNAL + ); + /* Allocate the sqlite data structure */ db = sqlite3MallocZero( sizeof(sqlite3) ); if( db==0 ) goto opendb_out;