summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-02-23 13:08:16 +0000
committerMichael Stahl <Michael.Stahl@cib.de>2019-08-27 14:12:24 +0200
commitbd3af4e6c75c0b3c491d7308044dd686fa9df196 (patch)
treec94bd50359f074dc36c632ae20205a1656831eb5
parentforcepoint #5 check for short read (diff)
downloadcore-bd3af4e6c75c0b3c491d7308044dd686fa9df196.tar.gz
core-bd3af4e6c75c0b3c491d7308044dd686fa9df196.zip
forcepoint #5 null deref
Change-Id: I95b67f98b7028d7ca7c4a9d1c15100e42d359816 Reviewed-on: https://gerrit.libreoffice.org/50243 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Jenkins <ci@libreoffice.org>
-rw-r--r--xmloff/source/text/txtparai.cxx15
1 files changed, 10 insertions, 5 deletions
diff --git a/xmloff/source/text/txtparai.cxx b/xmloff/source/text/txtparai.cxx
index 33a6a7b4db4f..a13f36a3f01d 100644
--- a/xmloff/source/text/txtparai.cxx
+++ b/xmloff/source/text/txtparai.cxx
@@ -1540,9 +1540,14 @@ XMLImpSpanContext_Impl::XMLImpSpanContext_Impl(
XMLImpSpanContext_Impl::~XMLImpSpanContext_Impl()
{
- if( pHint )
- pHint->SetEnd( GetImport().GetTextImport()
- ->GetCursorAsRange()->getStart() );
+ if (!pHint)
+ return;
+
+ Reference<XTextRange> xCrsrRange(GetImport().GetTextImport()->GetCursorAsRange());
+ if (!xCrsrRange.is())
+ return; // Robust (defective file)
+
+ pHint->SetEnd(xCrsrRange->getStart());
}
SvXMLImportContext *XMLImpSpanContext_Impl::CreateChildContext(
@@ -1937,7 +1942,7 @@ XMLParaContext::~XMLParaContext()
GetImport().GetTextImport());
Reference < XTextRange > xCrsrRange( xTxtImport->GetCursorAsRange() );
if( !xCrsrRange.is() )
- return; // Robust (defect file)
+ return; // Robust (defective file)
Reference < XTextRange > xEnd(xCrsrRange->getStart());
// if we have an id set for this paragraph, get a cursor for this
@@ -1963,7 +1968,7 @@ XMLParaContext::~XMLParaContext()
try {
xAttrCursor = xTxtImport->GetText()->createTextCursorByRange( xStart );
if( !xAttrCursor.is() )
- return; // Robust (defect file)
+ return; // Robust (defective file)
} catch (const uno::Exception &) {
// createTextCursorByRange() likes to throw runtime exception, even
// though it just means 'we were unable to create the cursor'