From ee06c659f39c29b9a7dc47af687664d31cc5fc14 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Fri, 31 Jan 2020 11:21:43 +0100 Subject: Fix ASAN issue with SQLite3VFS class (fixes #1901) --- src/sqlite3_utils.cpp | 14 ++------------ src/sqlite3_utils.hpp | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/sqlite3_utils.cpp b/src/sqlite3_utils.cpp index 673eb89c..3b1f1f8a 100644 --- a/src/sqlite3_utils.cpp +++ b/src/sqlite3_utils.cpp @@ -44,7 +44,7 @@ NS_PROJ_START // --------------------------------------------------------------------------- -SQLite3VFS::SQLite3VFS(sqlite3_vfs *vfs) : vfs_(vfs) {} +SQLite3VFS::SQLite3VFS(pj_sqlite3_vfs *vfs) : vfs_(vfs) {} // --------------------------------------------------------------------------- @@ -57,17 +57,7 @@ SQLite3VFS::~SQLite3VFS() { // --------------------------------------------------------------------------- -struct pj_sqlite3_vfs : public sqlite3_vfs { - std::string namePtr{}; - bool fakeSync = false; - bool fakeLock = false; -}; - -// --------------------------------------------------------------------------- - -const char *SQLite3VFS::name() const { - return static_cast(vfs_)->namePtr.c_str(); -} +const char *SQLite3VFS::name() const { return vfs_->namePtr.c_str(); } // --------------------------------------------------------------------------- diff --git a/src/sqlite3_utils.hpp b/src/sqlite3_utils.hpp index ef141d1f..42ec33af 100644 --- a/src/sqlite3_utils.hpp +++ b/src/sqlite3_utils.hpp @@ -39,10 +39,20 @@ NS_PROJ_START //! @cond Doxygen_Suppress +// --------------------------------------------------------------------------- + +struct pj_sqlite3_vfs : public sqlite3_vfs { + std::string namePtr{}; + bool fakeSync = false; + bool fakeLock = false; +}; + +// --------------------------------------------------------------------------- + class SQLite3VFS { - sqlite3_vfs *vfs_ = nullptr; + pj_sqlite3_vfs *vfs_ = nullptr; - explicit SQLite3VFS(sqlite3_vfs *vfs); + explicit SQLite3VFS(pj_sqlite3_vfs *vfs); SQLite3VFS(const SQLite3VFS &) = delete; SQLite3VFS &operator=(const SQLite3VFS &) = delete; -- cgit v1.2.3