summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-08-01 09:04:58 +0100
committerMichael Stahl <Michael.Stahl@cib.de>2019-08-06 14:35:37 +0200
commit64359dee56571892411e4c4fbd09360f0963a20e (patch)
tree5399c6defc53ddd52324392e9f146a293d1d0a21
parentforcepoint#54 null deref (diff)
downloadcore-64359dee56571892411e4c4fbd09360f0963a20e.tar.gz
core-64359dee56571892411e4c4fbd09360f0963a20e.zip
forcepoint#56 null deref
Change-Id: Iaa9c4d6901a340145412fa46eaf5c292c3fb62e8 Reviewed-on: https://gerrit.libreoffice.org/58387 Tested-by: Jenkins Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> (cherry picked from commit 0845c1a74aef650b4aebaeea9587b3bfb5b38ffb)
-rw-r--r--writerfilter/source/dmapper/DomainMapper_Impl.cxx14
1 files changed, 8 insertions, 6 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index 703c36c4b411..80e52d8e28fa 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -2649,15 +2649,17 @@ void DomainMapper_Impl::PushFieldContext()
TagLogger::getInstance().element("pushFieldContext");
#endif
- uno::Reference< text::XTextAppend > xTextAppend;
+ uno::Reference<text::XTextCursor> xCrsr;
if (!m_aTextAppendStack.empty())
- xTextAppend = m_aTextAppendStack.top().xTextAppend;
- uno::Reference< text::XTextRange > xStart;
- if (xTextAppend.is())
{
- uno::Reference< text::XTextCursor > xCrsr = xTextAppend->createTextCursorByRange( xTextAppend->getEnd() );
- xStart = xCrsr->getStart();
+ uno::Reference<text::XTextAppend> xTextAppend = m_aTextAppendStack.top().xTextAppend;
+ if (xTextAppend.is())
+ xCrsr = xTextAppend->createTextCursorByRange(xTextAppend->getEnd());
}
+
+ uno::Reference< text::XTextRange > xStart;
+ if (xCrsr.is())
+ xStart = xCrsr->getStart();
m_aFieldStack.push( std::make_shared<FieldContext>( xStart ) );
}
/*-------------------------------------------------------------------------