summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2019-02-06 12:34:26 +0000
committerMichael Stahl <Michael.Stahl@cib.de>2019-02-07 11:00:03 +0100
commite9534eddcec78e5f6f551c848fa18f07a298ccfa (patch)
tree7ed51bc2d94f1ee712e5f1fc1c950cbbc34333c3
parent5a5c54b755f09984ecc38bf1f800d185456128b3 (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/67456 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
-rw-r--r--sw/source/core/layout/frmtool.cxx7
1 files changed, 4 insertions, 3 deletions
diff --git a/sw/source/core/layout/frmtool.cxx b/sw/source/core/layout/frmtool.cxx
index 429a1066044a..98918af9b5f6 100644
--- a/sw/source/core/layout/frmtool.cxx
+++ b/sw/source/core/layout/frmtool.cxx
@@ -2540,7 +2540,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) );
}
}
@@ -2881,8 +2882,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 );
}
}