summaryrefslogtreecommitdiff
path: root/idlc
diff options
context:
space:
mode:
Diffstat (limited to 'idlc')
-rw-r--r--idlc/source/idlccompile.cxx7
1 files changed, 2 insertions, 5 deletions
diff --git a/idlc/source/idlccompile.cxx b/idlc/source/idlccompile.cxx
index 8d6386b66a44..3492e899e733 100644
--- a/idlc/source/idlccompile.cxx
+++ b/idlc/source/idlccompile.cxx
@@ -314,8 +314,7 @@ sal_Int32 compileFile(const OString * pathname)
oslProcessError procError = osl_Process_E_None;
const int nCmdArgs = lCppArgs.size();
- rtl_uString** pCmdArgs = nullptr;
- pCmdArgs = static_cast<rtl_uString**>(rtl_allocateZeroMemory(nCmdArgs * sizeof(rtl_uString*)));
+ std::unique_ptr<rtl_uString*[]> pCmdArgs(new rtl_uString*[nCmdArgs]);
int i = 0;
for (auto const& elem : lCppArgs)
@@ -323,7 +322,7 @@ sal_Int32 compileFile(const OString * pathname)
pCmdArgs[i++] = elem.pData;
}
- procError = osl_executeProcess( cpp.pData, pCmdArgs, nCmdArgs, osl_Process_WAIT,
+ procError = osl_executeProcess( cpp.pData, pCmdArgs.get(), nCmdArgs, osl_Process_WAIT,
nullptr, startDir.pData, nullptr, 0, &hProcess );
oslProcessInfo hInfo;
@@ -344,11 +343,9 @@ sal_Int32 compileFile(const OString * pathname)
pathname == nullptr ? "" : "file ", fileName.getStr());
osl_freeProcessHandle(hProcess);
- std::free(pCmdArgs);
exit(hInfo.Code ? hInfo.Code : 99);
}
osl_freeProcessHandle(hProcess);
- std::free(pCmdArgs);
if (unlink(tmpFile.getStr()) != 0)
{