diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-03-16 21:22:36 +0000 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2017-04-23 20:54:29 +0200 |
commit | 5da6e38dba8aff85ea64282b8c06968939f84d49 (patch) | |
tree | 006a990b44ea610856679767ff0bbd8b2f646a46 | |
parent | 92cb461b47090a1df80b9e970f7587b18c5cbe7f (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.cxx | 13 |
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); } } } |