summaryrefslogtreecommitdiff
path: root/filter
diff options
context:
space:
mode:
authorMark Wielaard <mark@klomp.org>2013-07-17 12:11:26 +0200
committerDavid Tardon <dtardon@redhat.com>2013-07-17 10:57:21 +0000
commitcae861f0b32e01cb775214d783c98255acb60af0 (patch)
treef94d5786080416ef396cc19a4826ab1e409b42ec /filter
parent4cf02127888589d66c90286e9994b5cf07ea3cab (diff)
Fix memory leak with osl_getCurrentSecurity ().
The result of osl_getCurrentSecurity () should always be deleted again with osl_freeSecurityHandle (). Change-Id: If0991937fcb24207d1f78166f61c4be22d423629 Reviewed-on: https://gerrit.libreoffice.org/4947 Reviewed-by: David Tardon <dtardon@redhat.com> Tested-by: David Tardon <dtardon@redhat.com>
Diffstat (limited to 'filter')
-rw-r--r--filter/source/graphicfilter/ieps/ieps.cxx13
1 files changed, 9 insertions, 4 deletions
diff --git a/filter/source/graphicfilter/ieps/ieps.cxx b/filter/source/graphicfilter/ieps/ieps.cxx
index c857b3f8ce4b..61f13ce85870 100644
--- a/filter/source/graphicfilter/ieps/ieps.cxx
+++ b/filter/source/graphicfilter/ieps/ieps.cxx
@@ -149,6 +149,8 @@ static oslProcessError runProcessWithPathSearch(const OUString &rProgName,
rtl_uString* pArgs[], sal_uInt32 nArgs, oslProcess *pProcess,
oslFileHandle *pIn, oslFileHandle *pOut, oslFileHandle *pErr)
{
+ oslProcessError result;
+ oslSecurity pSecurity = osl_getCurrentSecurity();
#ifdef WNT
/*
* ooo#72096
@@ -171,14 +173,17 @@ static oslProcessError runProcessWithPathSearch(const OUString &rProgName,
oslFileError err = osl_searchFileURL(rProgName.pData, path.pData, &url.pData);
if (err != osl_File_E_None)
return osl_Process_E_NotFound;
- return osl_executeProcess_WithRedirectedIO(url.pData,
+
+ result = osl_executeProcess_WithRedirectedIO(url.pData,
pArgs, nArgs, osl_Process_HIDDEN,
- osl_getCurrentSecurity(), 0, 0, 0, pProcess, pIn, pOut, pErr);
+ pSecurity, 0, 0, 0, pProcess, pIn, pOut, pErr);
#else
- return osl_executeProcess_WithRedirectedIO(rProgName.pData,
+ result = osl_executeProcess_WithRedirectedIO(rProgName.pData,
pArgs, nArgs, osl_Process_SEARCHPATH | osl_Process_HIDDEN,
- osl_getCurrentSecurity(), 0, 0, 0, pProcess, pIn, pOut, pErr);
+ pSecurity, 0, 0, 0, pProcess, pIn, pOut, pErr);
#endif
+ osl_freeSecurityHandle( pSecurity );
+ return result;
}
#if defined(WNT)