From 8a3cef5199bba5e502cff8b99857287c67499a41 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Sun, 1 Sep 2024 21:35:33 +0200 Subject: [PATCH] Fix Coverity warnings --- frmts/pdf/pdfdataset.cpp | 6 +++--- ogr/ogrsf_frmts/sqlite/ogrsqlitedatasource.cpp | 15 +++++++++------ 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/frmts/pdf/pdfdataset.cpp b/frmts/pdf/pdfdataset.cpp index 12180462271c..cab477ab4da9 100644 --- a/frmts/pdf/pdfdataset.cpp +++ b/frmts/pdf/pdfdataset.cpp @@ -1567,7 +1567,7 @@ class GDALPDFiumRenderDeviceDriver : public RenderDeviceDriverIface virtual bool GetDIBits(RetainPtr bitmap, int left, int top) const override { - return m_poParent->GetDIBits(bitmap, left, top); + return m_poParent->GetDIBits(std::move(bitmap), left, top); } virtual RetainPtr GetBackDrop() const override @@ -1675,8 +1675,8 @@ class GDALPDFiumRenderDeviceDriver : public RenderDeviceDriverIface { if (!bEnableBitmap && !bTemporaryEnableVectorForTextStroking) return true; - return m_poParent->SetBitsWithMask(bitmap, mask, left, top, alpha, - blend_type); + return m_poParent->SetBitsWithMask(std::move(bitmap), std::move(mask), + left, top, alpha, blend_type); } virtual void SetGroupKnockout(bool group_knockout) override diff --git a/ogr/ogrsf_frmts/sqlite/ogrsqlitedatasource.cpp b/ogr/ogrsf_frmts/sqlite/ogrsqlitedatasource.cpp index eae52fbcfcd5..63e3e8d475f5 100644 --- a/ogr/ogrsf_frmts/sqlite/ogrsqlitedatasource.cpp +++ b/ogr/ogrsf_frmts/sqlite/ogrsqlitedatasource.cpp @@ -202,12 +202,15 @@ void OGRSQLiteBaseDataSource::FinishSpatialite() { if (hSpatialiteCtxt != nullptr) { - // Current implementation of spatialite_cleanup_ex() (as of libspatialite 5.1) - // is not re-entrant due to the use of xmlCleanupParser() - // Cf https://groups.google.com/g/spatialite-users/c/tsfZ_GDrRKs/m/aj-Dt4xoBQAJ?utm_medium=email&utm_source=footer - static std::mutex oCleanupMutex; - std::lock_guard oLock(oCleanupMutex); - pfn_spatialite_cleanup_ex(hSpatialiteCtxt); + auto ctxt = hSpatialiteCtxt; + { + // Current implementation of spatialite_cleanup_ex() (as of libspatialite 5.1) + // is not re-entrant due to the use of xmlCleanupParser() + // Cf https://groups.google.com/g/spatialite-users/c/tsfZ_GDrRKs/m/aj-Dt4xoBQAJ?utm_medium=email&utm_source=footer + static std::mutex oCleanupMutex; + std::lock_guard oLock(oCleanupMutex); + pfn_spatialite_cleanup_ex(ctxt); + } hSpatialiteCtxt = nullptr; } }