summaryrefslogtreecommitdiff
path: root/package
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-12-02 14:55:56 +0000
committerCaolán McNamara <caolanm@redhat.com>2017-12-02 21:16:01 +0100
commit8d0a90825aa01c95d9dacecad83cfc65d3a7c57c (patch)
tree6f3dd83193fe50d5e839068d568f93d09b8ce998 /package
parentcaf17df4d90ba6cff80846864a5e56c93af3756b (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.cxx14
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);
+ }
}
}