diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-02-06 12:34:26 +0000 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2019-02-18 12:00:28 +0100 |
commit | c2281f68f97afc43ccd758bc1331ecab6d1da2a1 (patch) | |
tree | 9f0137350b64670a6609b2102752e830cbd068f2 /sw/source | |
parent | 5ead5bd3dc4a3eacef2510baea488361b915ebe8 (diff) |
Resolves: tdf#123163 avoid null deref
one RemoveDrawObjFromPage is already null-deref protected,
do the same for the other
Change-Id: Ica5bb2df4a8dbffd8397df76b673adab75bb7aef
Reviewed-on: https://gerrit.libreoffice.org/67457
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
(cherry picked from commit e6e8f02407ea781a3634fd2669ad6467e9587db4)
Diffstat (limited to 'sw/source')
-rw-r--r-- | sw/source/core/layout/frmtool.cxx | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sw/source/core/layout/frmtool.cxx b/sw/source/core/layout/frmtool.cxx index 0e973771854f..cb7e25e866f8 100644 --- a/sw/source/core/layout/frmtool.cxx +++ b/sw/source/core/layout/frmtool.cxx @@ -2313,7 +2313,8 @@ static void lcl_RemoveObjsFromPage( SwFrame* _pFrame ) { if (pObj->GetFrameFormat().GetAnchor().GetAnchorId() != RndStdIds::FLY_AS_CHAR) { - pObj->GetPageFrame()->RemoveDrawObjFromPage( + if (SwPageFrame *pPg = pObj->GetPageFrame()) + pPg->RemoveDrawObjFromPage( *static_cast<SwAnchoredDrawObject*>(pObj) ); } } @@ -2654,8 +2655,8 @@ static void lcl_Regist( SwPageFrame *pPage, const SwFrame *pAnch ) if ( pPage != pObj->GetPageFrame() ) { // #i28701# - if ( pObj->GetPageFrame() ) - pObj->GetPageFrame()->RemoveDrawObjFromPage( *pObj ); + if (SwPageFrame *pPg = pObj->GetPageFrame()) + pPg->RemoveDrawObjFromPage( *pObj ); pPage->AppendDrawObjToPage( *pObj ); } } |