summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2020-06-27 16:18:35 +0100
committerCaolán McNamara <caolanm@redhat.com>2020-06-27 21:33:24 +0200
commit81c7702865551e2f8a5bbcde2c8e37e4446c387c (patch)
tree52c892b6315b64a1654aaf3011f1f59aa5d2e659
parentdbafd0b0e84463a27ac88a380d88348a7449468c (diff)
cid#1464973 & cid#1464975 Resource leak
Change-Id: I4df8fefa7f875e0a25585c4fef22f077dcd0b83d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97300 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--sc/source/filter/excel/excel.cxx6
-rw-r--r--sd/source/filter/sdpptwrp.cxx6
-rw-r--r--sw/source/filter/ww8/wrtww8.cxx2
-rw-r--r--sw/source/filter/ww8/ww8par.cxx4
4 files changed, 9 insertions, 9 deletions
diff --git a/sc/source/filter/excel/excel.cxx b/sc/source/filter/excel/excel.cxx
index 34dd49a81c8b..1e2c61233a2c 100644
--- a/sc/source/filter/excel/excel.cxx
+++ b/sc/source/filter/excel/excel.cxx
@@ -59,8 +59,8 @@ static void lcl_getListOfStreams(SotStorage * pStorage, comphelper::SequenceAsHa
OUString sStreamFullName = sPrefix.getLength() ? sPrefix + "/" + aElement.GetName() : aElement.GetName();
if (aElement.IsStorage())
{
- SotStorage * pSubStorage = pStorage->OpenSotStorage(aElement.GetName(), StreamMode::STD_READ | StreamMode::SHARE_DENYALL);
- lcl_getListOfStreams(pSubStorage, aStreamsData, sStreamFullName);
+ tools::SvRef<SotStorage> xSubStorage = pStorage->OpenSotStorage(aElement.GetName(), StreamMode::STD_READ | StreamMode::SHARE_DENYALL);
+ lcl_getListOfStreams(xSubStorage.get(), aStreamsData, sStreamFullName);
}
else
{
@@ -371,7 +371,7 @@ static ErrCode lcl_ExportExcelBiff( SfxMedium& rMedium, ScDocument *pDocument,
break;
}
- SotStorageStream* pStream = pStorage->OpenSotStream(sFileName);
+ tools::SvRef<SotStorageStream> pStream = pStorage->OpenSotStream(sFileName);
if (!pStream)
{
eRet = ERRCODE_IO_GENERAL;
diff --git a/sd/source/filter/sdpptwrp.cxx b/sd/source/filter/sdpptwrp.cxx
index 68b0b1886fd2..8fac3b162263 100644
--- a/sd/source/filter/sdpptwrp.cxx
+++ b/sd/source/filter/sdpptwrp.cxx
@@ -83,8 +83,8 @@ static void lcl_getListOfStreams(SotStorage * pStorage, comphelper::SequenceAsHa
OUString sStreamFullName = sPrefix.getLength() ? sPrefix + "/" + aElement.GetName() : aElement.GetName();
if (aElement.IsStorage())
{
- SotStorage * pSubStorage = pStorage->OpenSotStorage(aElement.GetName(), StreamMode::STD_READ | StreamMode::SHARE_DENYALL);
- lcl_getListOfStreams(pSubStorage, aStreamsData, sStreamFullName);
+ tools::SvRef<SotStorage> xSubStorage = pStorage->OpenSotStorage(aElement.GetName(), StreamMode::STD_READ | StreamMode::SHARE_DENYALL);
+ lcl_getListOfStreams(xSubStorage.get(), aStreamsData, sStreamFullName);
}
else
{
@@ -307,7 +307,7 @@ bool SdPPTFilter::Export()
{
// To avoid long paths split and open substorages recursively
// Splitting paths manually, since comphelper::string::split is trimming special characters like \0x01, \0x09
- SotStorage * pStorage = xEncryptedRootStrg.get();
+ tools::SvRef<SotStorage> pStorage = xEncryptedRootStrg.get();
OUString sFileName;
sal_Int32 idx = 0;
do
diff --git a/sw/source/filter/ww8/wrtww8.cxx b/sw/source/filter/ww8/wrtww8.cxx
index 5fedd5bb39b7..9b5980f3e5e1 100644
--- a/sw/source/filter/ww8/wrtww8.cxx
+++ b/sw/source/filter/ww8/wrtww8.cxx
@@ -3724,7 +3724,7 @@ ErrCode SwWW8Writer::WriteStorage()
{
// To avoid long paths split and open substorages recursively
// Splitting paths manually, since comphelper::string::split is trimming special characters like \0x01, \0x09
- SotStorage * pStorage = m_pStg.get();
+ tools::SvRef<SotStorage> pStorage = m_pStg.get();
OUString sFileName;
sal_Int32 idx = 0;
do
diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx
index f58506ec5268..054b0a98e9ee 100644
--- a/sw/source/filter/ww8/ww8par.cxx
+++ b/sw/source/filter/ww8/ww8par.cxx
@@ -6343,8 +6343,8 @@ static void lcl_getListOfStreams(SotStorage * pStorage, comphelper::SequenceAsHa
OUString sStreamFullName = sPrefix.getLength() ? sPrefix + "/" + aElement.GetName() : aElement.GetName();
if (aElement.IsStorage())
{
- SotStorage * pSubStorage = pStorage->OpenSotStorage(aElement.GetName(), StreamMode::STD_READ | StreamMode::SHARE_DENYALL);
- lcl_getListOfStreams(pSubStorage, aStreamsData, sStreamFullName);
+ tools::SvRef<SotStorage> xSubStorage = pStorage->OpenSotStorage(aElement.GetName(), StreamMode::STD_READ | StreamMode::SHARE_DENYALL);
+ lcl_getListOfStreams(xSubStorage.get(), aStreamsData, sStreamFullName);
}
else
{