diff options
Diffstat (limited to '')
| -rw-r--r-- | src/libs/dutil/WixToolset.DUtil/fileutil.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/libs/dutil/WixToolset.DUtil/fileutil.cpp b/src/libs/dutil/WixToolset.DUtil/fileutil.cpp index 9f68ee52..ac407916 100644 --- a/src/libs/dutil/WixToolset.DUtil/fileutil.cpp +++ b/src/libs/dutil/WixToolset.DUtil/fileutil.cpp | |||
| @@ -1284,21 +1284,18 @@ extern "C" HRESULT DAPI FileCreateTempW( | |||
| 1284 | Assert(wzPrefix && *wzPrefix); | 1284 | Assert(wzPrefix && *wzPrefix); |
| 1285 | HRESULT hr = E_FAIL; | 1285 | HRESULT hr = E_FAIL; |
| 1286 | 1286 | ||
| 1287 | WCHAR wzTempPath[MAX_PATH]; | 1287 | LPWSTR pwzTempPath = NULL; |
| 1288 | DWORD cchTempPath = countof(wzTempPath); | ||
| 1289 | LPWSTR pwzTempFile = NULL; | 1288 | LPWSTR pwzTempFile = NULL; |
| 1290 | 1289 | ||
| 1291 | HANDLE hTempFile = INVALID_HANDLE_VALUE; | 1290 | HANDLE hTempFile = INVALID_HANDLE_VALUE; |
| 1292 | int i = 0; | 1291 | int i = 0; |
| 1293 | 1292 | ||
| 1294 | if (!::GetTempPathW(cchTempPath, wzTempPath)) | 1293 | hr = PathGetTempPath(&pwzTempPath, NULL); |
| 1295 | { | 1294 | FileExitOnFailure(hr, "failed to get temp path"); |
| 1296 | FileExitOnLastError(hr, "failed to get temp path"); | ||
| 1297 | } | ||
| 1298 | 1295 | ||
| 1299 | for (i = 0; i < 1000 && INVALID_HANDLE_VALUE == hTempFile; ++i) | 1296 | for (i = 0; i < 1000 && INVALID_HANDLE_VALUE == hTempFile; ++i) |
| 1300 | { | 1297 | { |
| 1301 | hr = StrAllocFormatted(&pwzTempFile, L"%s%s%05d.%s", wzTempPath, wzPrefix, i, wzExtension); | 1298 | hr = StrAllocFormatted(&pwzTempFile, L"%s%s%05d.%s", pwzTempPath, wzPrefix, i, wzExtension); |
| 1302 | FileExitOnFailure(hr, "failed to allocate memory for temp filename"); | 1299 | FileExitOnFailure(hr, "failed to allocate memory for temp filename"); |
| 1303 | 1300 | ||
| 1304 | hTempFile = ::CreateFileW(pwzTempFile, GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL); | 1301 | hTempFile = ::CreateFileW(pwzTempFile, GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL); |
| @@ -1330,6 +1327,7 @@ extern "C" HRESULT DAPI FileCreateTempW( | |||
| 1330 | LExit: | 1327 | LExit: |
| 1331 | ReleaseFile(hTempFile); | 1328 | ReleaseFile(hTempFile); |
| 1332 | ReleaseStr(pwzTempFile); | 1329 | ReleaseStr(pwzTempFile); |
| 1330 | ReleaseStr(pwzTempPath); | ||
| 1333 | 1331 | ||
| 1334 | return hr; | 1332 | return hr; |
| 1335 | } | 1333 | } |
