Browse Source

UI/updater: Fix temp files being created and not deleted

The GetTempPath and GetTempFileName functions weren't being used
correctly, GetTempFileName always create a temporary file, and was
creating a temporary file in the root directory of the hard drive
unintentionally.
jp9000 8 years ago
parent
commit
65d453049a
1 changed files with 3 additions and 3 deletions
  1. 3 3
      UI/win-update/updater/updater.cpp

+ 3 - 3
UI/win-update/updater/updater.cpp

@@ -987,18 +987,18 @@ static bool Update(wchar_t *cmdLine)
 
 	StringCbPrintf(manifestPath, sizeof(manifestPath),
 			L"%s\\updates\\manifest.json", lpAppDataPath);
-	if (!GetTempPathW(_countof(tempPath), tempPath)) {
+	if (!GetTempPathW(_countof(tempDirName), tempDirName)) {
 		Status(L"Update failed: Failed to get temp path: %ld",
 				GetLastError());
 		return false;
 	}
-	if (!GetTempFileNameW(tempDirName, L"obs-studio", 0, tempDirName)) {
+	if (!GetTempFileNameW(tempDirName, L"obs-studio", 0, tempPath)) {
 		Status(L"Update failed: Failed to create temp dir name: %ld",
 				GetLastError());
 		return false;
 	}
 
-	StringCbCat(tempPath, sizeof(tempPath), tempDirName);
+	DeleteFile(tempPath);
 	CreateDirectory(tempPath, nullptr);
 
 	/* ------------------------------------- *