From 3d0472791a0928963a3f8184fe28479e80d1a47d Mon Sep 17 00:00:00 2001 From: Jeremy Harris Date: Sun, 28 Jun 2020 15:24:21 +0100 Subject: Sqlite: fix segfault on bad/missing sqlite_dbfile. Bug 2606 --- test/scripts/2600-SQLite/2600 | 6 ++++++ test/stderr/2600 | 26 ++++++++++++++++++++++++++ test/stdout/2600 | 4 ++++ 3 files changed, 36 insertions(+) (limited to 'test') diff --git a/test/scripts/2600-SQLite/2600 b/test/scripts/2600-SQLite/2600 index d7e4d69d8..a11d46ef1 100644 --- a/test/scripts/2600-SQLite/2600 +++ b/test/scripts/2600-SQLite/2600 @@ -43,3 +43,9 @@ ${lookup sqlite{DIR/aux-fixed/sqlitedb select name from them where id='userx';}} exim -DDATA=DIR/aux-fixed/sqlitedb -d-all+lookup -be ${lookup sqlite{select name from them where id='userx';}} **** +exim -DDATA=nonabsolute_filename -d-all+lookup -be +${lookup sqlite{select name from them where id='userx';}} +**** +exim -DDATA=DIR/missingfile -d-all+lookup -be +${lookup sqlite{select name from them where id='userx';}} +**** diff --git a/test/stderr/2600 b/test/stderr/2600 index ecc3c2091..e9fab9154 100644 --- a/test/stderr/2600 +++ b/test/stderr/2600 @@ -618,6 +618,7 @@ configuration file is TESTSUITE/test-config admin user dropping to exim gid; retaining priv uid search_open: sqlite "NULL" + Using sqlite_dbfile: TESTSUITE/aux-fixed/sqlitedb search_find: file="NULL" key="select name from them where id='userx';" partial=-1 affix=NULL starflags=0 opts=NULL LRU list: @@ -628,3 +629,28 @@ dropping to exim gid; retaining priv uid lookup yielded: Ayen Other search_tidyup called >>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>> +Exim version x.yz .... +configuration file is TESTSUITE/test-config +admin user +dropping to exim gid; retaining priv uid + search_open: sqlite "NULL" + Using sqlite_dbfile: nonabsolute_filename +search_tidyup called +>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>> +Exim version x.yz .... +configuration file is TESTSUITE/test-config +admin user +dropping to exim gid; retaining priv uid + search_open: sqlite "NULL" + Using sqlite_dbfile: TESTSUITE/missingfile + search_find: file="NULL" + key="select name from them where id='userx';" partial=-1 affix=NULL starflags=0 opts=NULL + LRU list: + internal_search_find: file="NULL" + type=sqlite key="select name from them where id='userx';" opts=NULL + database lookup required for select name from them where id='userx'; + sqlite3_exec failed: no such table: them + creating new cache entry + lookup failed +search_tidyup called +>>>>>>>>>>>>>>>> Exim pid=pppp (fresh-exec) terminating with rc=0 >>>>>>>>>>>>>>>> diff --git a/test/stdout/2600 b/test/stdout/2600 index c21783b86..0a0a461ce 100644 --- a/test/stdout/2600 +++ b/test/stdout/2600 @@ -46,3 +46,7 @@ after" id=newline > > Ayen Other > +> Failed: absolute file name expected for "sqlite" lookup +> +> +> -- cgit v1.2.3