diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-12-02 14:55:56 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2017-12-02 21:16:01 +0100 |
commit | 8d0a90825aa01c95d9dacecad83cfc65d3a7c57c (patch) | |
tree | 6f3dd83193fe50d5e839068d568f93d09b8ce998 /package | |
parent | caf17df4d90ba6cff80846864a5e56c93af3756b (diff) |
ofz#4502 Direct-leak
Change-Id: I1323aa7033c68802384c9b984b52a6c6f1156094
Reviewed-on: https://gerrit.libreoffice.org/45714
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'package')
-rw-r--r-- | package/source/zippackage/ZipPackage.cxx | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/package/source/zippackage/ZipPackage.cxx b/package/source/zippackage/ZipPackage.cxx index 27e578d51bda..021ad2ad6792 100644 --- a/package/source/zippackage/ZipPackage.cxx +++ b/package/source/zippackage/ZipPackage.cxx @@ -530,11 +530,15 @@ void ZipPackage::getZipFileContents() { nStreamIndex++; sTemp = rName.copy( nStreamIndex ); - ZipPackageStream *pPkgStream = new ZipPackageStream(*this, m_xContext, m_nFormat, m_bAllowRemoveOnInsert); - pPkgStream->SetPackageMember( true ); - pPkgStream->setZipEntryOnLoading( rEntry ); - pPkgStream->setName( sTemp ); - pPkgStream->doSetParent( pCurrent ); + + if (!pCurrent->hasByName(sTemp)) + { + ZipPackageStream *pPkgStream = new ZipPackageStream(*this, m_xContext, m_nFormat, m_bAllowRemoveOnInsert); + pPkgStream->SetPackageMember(true); + pPkgStream->setZipEntryOnLoading(rEntry); + pPkgStream->setName(sTemp); + pPkgStream->doSetParent(pCurrent); + } } } |