summaryrefslogtreecommitdiffstats
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-08-06 14:35:41 +0200
commit3ae28d937bf6ad011582c764df80b63a73bbbf22 (patch)
tree172915a2bdb4193964aad50aa48b87d05dd7db7e
parenttdf#119126 forcepoint#76 avoid deleting footnote that would delete ... (diff)
downloadcore-3ae28d937bf6ad011582c764df80b63a73bbbf22.tar.gz
core-3ae28d937bf6ad011582c764df80b63a73bbbf22.zip
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)
-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 70c1409a0dc0..314f37f1c383 100644
--- a/sw/source/core/layout/frmtool.cxx
+++ b/sw/source/core/layout/frmtool.cxx
@@ -2390,7 +2390,8 @@ static void lcl_RemoveObjsFromPage( SwFrame* _pFrame )
{
if (pObj->GetFrameFormat().GetAnchor().GetAnchorId() != FLY_AS_CHAR)
{
- pObj->GetPageFrame()->RemoveDrawObjFromPage(
+ if (SwPageFrame *pPg = pObj->GetPageFrame())
+ pPg->RemoveDrawObjFromPage(
*(static_cast<SwAnchoredDrawObject*>(pObj)) );
}
}
@@ -2730,8 +2731,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 );
}
}