diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-02-23 13:08:16 +0000 |
---|---|---|
committer | Michael Stahl <Michael.Stahl@cib.de> | 2019-08-27 14:12:24 +0200 |
commit | bd3af4e6c75c0b3c491d7308044dd686fa9df196 (patch) | |
tree | c94bd50359f074dc36c632ae20205a1656831eb5 | |
parent | forcepoint #5 check for short read (diff) | |
download | core-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.cxx | 15 |
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' |