Logging: fix crash on local_part utf8-conversion fail
[exim.git] / src / src / lookups / lmdb.c
index d9cf25d548eac36f8416224731c3af47d2bbeb1b..042229a550a0a201d139b326a7ce7f0d3c5f4893 100644 (file)
@@ -3,7 +3,7 @@
 *************************************************/
 
 /* Copyright (c) University of Cambridge 2016 - 2018 */
-/* Copyright (c) The Exim Maintainers 2020 */
+/* Copyright (c) The Exim Maintainers 2020 - 2021 */
 /* See the file NOTICE for conditions of use and distribution. */
 
 #include "../exim.h"
@@ -31,7 +31,7 @@ Lmdbstrct * lmdb_p;
 int ret, save_errno;
 const uschar * errstr;
 
-lmdb_p = store_get(sizeof(Lmdbstrct), FALSE);
+lmdb_p = store_get(sizeof(Lmdbstrct), GET_UNTAINTED);
 lmdb_p->txn = NULL;
 
 if ((ret = mdb_env_create(&db_env)))
@@ -129,14 +129,15 @@ mdb_env_close(db_env);
 
 #include "../version.h"
 
-void
-lmdb_version_report(FILE * f)
+gstring *
+lmdb_version_report(gstring * g)
 {
-fprintf(f, "Library version: LMDB: Compile: %d.%d.%d\n",
-    MDB_VERSION_MAJOR, MDB_VERSION_MINOR, MDB_VERSION_PATCH);
+g = string_fmt_append(g, "Library version: LMDB: Compile: %d.%d.%d\n",
+                         MDB_VERSION_MAJOR, MDB_VERSION_MINOR, MDB_VERSION_PATCH);
 #ifdef DYNLOOKUP
-fprintf(f, "                        Exim version %s\n", EXIM_VERSION_STR);
+g = string_fmt_append(g, "                        Exim version %s\n", EXIM_VERSION_STR);
 #endif
+return g;
 }
 
 static lookup_info lmdb_lookup_info = {