[Libreoffice-commits] core.git: Branch 'libreoffice-6-3' - filter/source

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Mon Jan 13 20:11:37 UTC 2020


 filter/source/msfilter/msdffimp.cxx |    9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

New commits:
commit 35d57c1c8e5ad59b1fc43ff5f4a2bd5ff2542614
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Mon Jan 13 12:12:19 2020 +0000
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Mon Jan 13 21:11:08 2020 +0100

    ofz#20051 if duplicate exists then m_ObjToRecMap points to deleted element
    
    Change-Id: I854410ba1d5c0a622b5ba9c6816a24a3477e5089
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86686
    Reviewed-by: Michael Stahl <michael.stahl at cib.de>
    Tested-by: Jenkins

diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx
index ca958de9a5ad..4c5b90780817 100644
--- a/filter/source/msfilter/msdffimp.cxx
+++ b/filter/source/msfilter/msdffimp.cxx
@@ -5105,8 +5105,13 @@ SvxMSDffImportRec* SvxMSDffImportData::find(const SdrObject* pObj)
 
 void SvxMSDffImportData::insert(std::unique_ptr<SvxMSDffImportRec> pImpRec)
 {
-    m_ObjToRecMap[pImpRec->pObj] = pImpRec.get();
-    m_Records.insert(std::move(pImpRec));
+    auto aRet = m_Records.insert(std::move(pImpRec));
+    bool bSuccess = aRet.second;
+    if (bSuccess)
+    {
+        SvxMSDffImportRec* pRec = aRet.first->get();
+        m_ObjToRecMap[pRec->pObj] = pRec;
+    }
 }
 
 void SvxMSDffImportData::NotifyFreeObj(SdrObject* pObj)


More information about the Libreoffice-commits mailing list