diff options
author | Mark Wielaard <mark@klomp.org> | 2013-07-17 12:11:26 +0200 |
---|---|---|
committer | David Tardon <dtardon@redhat.com> | 2013-07-17 10:57:21 +0000 |
commit | cae861f0b32e01cb775214d783c98255acb60af0 (patch) | |
tree | f94d5786080416ef396cc19a4826ab1e409b42ec /filter | |
parent | 4cf02127888589d66c90286e9994b5cf07ea3cab (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.cxx | 13 |
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) |