From 94c2f1b08339bc42d89229f5a8f525032ea1d6da Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Fri, 23 Feb 2018 13:08:16 +0000 Subject: forcepoint #5 null deref Change-Id: I95b67f98b7028d7ca7c4a9d1c15100e42d359816 Reviewed-on: https://gerrit.libreoffice.org/50243 Reviewed-by: Michael Stahl Tested-by: Jenkins (cherry picked from commit 6ba5fc85224b8bb0b8e2a5c5013e83644c622e30) --- xmloff/source/text/txtparai.cxx | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'xmloff') diff --git a/xmloff/source/text/txtparai.cxx b/xmloff/source/text/txtparai.cxx index 76d759f37f11..1c0d81d07161 100644 --- a/xmloff/source/text/txtparai.cxx +++ b/xmloff/source/text/txtparai.cxx @@ -1528,9 +1528,14 @@ XMLImpSpanContext_Impl::XMLImpSpanContext_Impl( XMLImpSpanContext_Impl::~XMLImpSpanContext_Impl() { - if( pHint ) - pHint->SetEnd( GetImport().GetTextImport() - ->GetCursorAsRange()->getStart() ); + if (!pHint) + return; + + Reference xCrsrRange(GetImport().GetTextImport()->GetCursorAsRange()); + if (!xCrsrRange.is()) + return; // Robust (defective file) + + pHint->SetEnd(xCrsrRange->getStart()); } SvXMLImportContext *XMLImpSpanContext_Impl::CreateChildContext( @@ -1926,7 +1931,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 @@ -1952,7 +1957,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' -- cgit