aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2020-01-31 11:21:43 +0100
committerEven Rouault <even.rouault@spatialys.com>2020-01-31 11:21:43 +0100
commitee06c659f39c29b9a7dc47af687664d31cc5fc14 (patch)
tree1c0e29789f55f1945d36c7aade8dbdebed23dc2e
parenta1b1c4312e1270b2f5dcb44e2ba2727711cbb80f (diff)
downloadPROJ-ee06c659f39c29b9a7dc47af687664d31cc5fc14.tar.gz
PROJ-ee06c659f39c29b9a7dc47af687664d31cc5fc14.zip
Fix ASAN issue with SQLite3VFS class (fixes #1901)
-rw-r--r--src/sqlite3_utils.cpp14
-rw-r--r--src/sqlite3_utils.hpp14
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<pj_sqlite3_vfs *>(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;