ofz: Direct-leak

Change-Id: Id94586cc659a5e504c727c570dc9fc60c85c8820
This commit is contained in:
Caolán McNamara 2017-11-29 20:49:03 +00:00
parent 64be56577f
commit a426cf6034

View file

@ -592,13 +592,13 @@ void OStorage_Impl::ReadContents()
uno::Reference< container::XNameContainer > xNameContainer( xNamed, uno::UNO_QUERY );
SotElement_Impl* pNewElement = new SotElement_Impl( aName, xNameContainer.is(), false );
std::unique_ptr<SotElement_Impl> xNewElement(new SotElement_Impl(aName, xNameContainer.is(), false));
if ( m_nStorageType == embed::StorageFormats::OFOPXML && aName == "_rels" )
{
if ( !pNewElement->m_bIsStorage )
if (!xNewElement->m_bIsStorage)
throw io::IOException( THROW_WHERE ); // TODO: Unexpected format
m_pRelStorElement = pNewElement;
m_pRelStorElement = xNewElement.release();
CreateRelStorage();
}
else
@ -606,10 +606,10 @@ void OStorage_Impl::ReadContents()
if ( ( m_nStorageMode & embed::ElementModes::TRUNCATE ) == embed::ElementModes::TRUNCATE )
{
// if a storage is truncated all of it elements are marked as deleted
pNewElement->m_bIsRemoved = true;
xNewElement->m_bIsRemoved = true;
}
m_aChildrenVector.push_back( pNewElement );
m_aChildrenVector.push_back(xNewElement.release());
}
}
catch( const container::NoSuchElementException& rNoSuchElementException )