summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-03-16 21:22:36 +0000
committerAndras Timar <andras.timar@collabora.com>2017-04-23 20:54:29 +0200
commit5da6e38dba8aff85ea64282b8c06968939f84d49 (patch)
tree006a990b44ea610856679767ff0bbd8b2f646a46
parent92cb461b47090a1df80b9e970f7587b18c5cbe7f (diff)
ofz: use after free
Change-Id: I6d3f9108b02149165b020fc9c6677880456a1ef4 Reviewed-on: https://gerrit.libreoffice.org/35300 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com> (cherry picked from commit 248aec4e966a99e411f46950722f0684b6286b2c) (cherry picked from commit c11d30bf2443b9212b0aced5af16d852fa911685)
-rw-r--r--filter/source/msfilter/svdfppt.cxx13
1 files changed, 12 insertions, 1 deletions
diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx
index 44a69ca79394..5269f4664858 100644
--- a/filter/source/msfilter/svdfppt.cxx
+++ b/filter/source/msfilter/svdfppt.cxx
@@ -2909,7 +2909,18 @@ void SdrPowerPointImport::ImportPage( SdrPage* pRet, const PptSlidePersistEntry*
// obsolete here, too.
pRet->getSdrPageProperties().ClearItem();
pRet->getSdrPageProperties().PutItemSet(rSlidePersist.pBObj->GetMergedItemSet());
- SdrObject::Free( rSlidePersist.pBObj );
+ if (rSlidePersist.pSolverContainer)
+ {
+ for (SvxMSDffConnectorRule* pPtr : rSlidePersist.pSolverContainer->aCList)
+ {
+ // check connections to the group object
+ if (pPtr->pAObj == rSlidePersist.pBObj)
+ pPtr->pAObj = nullptr;
+ if (pPtr->pBObj == rSlidePersist.pBObj)
+ pPtr->pBObj = nullptr;
+ }
+ }
+ SdrObject::Free(rSlidePersist.pBObj);
}
}
}