diff options
Diffstat (limited to 'src/Common/Dlgcode.c')
-rw-r--r-- | src/Common/Dlgcode.c | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/src/Common/Dlgcode.c b/src/Common/Dlgcode.c index 8b1db616..ee3630c0 100644 --- a/src/Common/Dlgcode.c +++ b/src/Common/Dlgcode.c @@ -15827,9 +15827,8 @@ BOOL EnableRequiredSetupPrivileges(PPRIVILEGE_STATE currentState) // Helper function to backup security information BOOL BackupSecurityInfo(const wchar_t* filePath, PSECURITY_INFO_BACKUP pBackup) { BOOL result = FALSE; - PSECURITY_DESCRIPTOR pSD = NULL; DWORD dwRes; ZeroMemory(pBackup, sizeof(SECURITY_INFO_BACKUP)); @@ -15842,20 +15841,17 @@ BOOL BackupSecurityInfo(const wchar_t* filePath, PSECURITY_INFO_BACKUP pBackup) &pBackup->pOrigOwner, &pBackup->pOrigGroup, &pBackup->pOrigDacl, &pBackup->pOrigSacl, - &pSD); + &pBackup->pOrigSD); if (dwRes == ERROR_SUCCESS) { // The individual pointers (pOrigOwner, etc.) are now valid // and point to the copied data result = TRUE; } - if (pSD) - LocalFree(pSD); - return result; } // Helper function to restore security information @@ -15890,16 +15886,10 @@ BOOL RestoreSecurityInfo(const wchar_t* filePath, PSECURITY_INFO_BACKUP pBackup) // Helper function to free security backup void FreeSecurityBackup(PSECURITY_INFO_BACKUP pBackup) { - if (pBackup->pOrigOwner) - LocalFree(pBackup->pOrigOwner); - if (pBackup->pOrigGroup) - LocalFree(pBackup->pOrigGroup); - if (pBackup->pOrigDacl) - LocalFree(pBackup->pOrigDacl); - if (pBackup->pOrigSacl) - LocalFree(pBackup->pOrigSacl); + if (pBackup->pOrigSD) + LocalFree(pBackup->pOrigSD); ZeroMemory(pBackup, sizeof(SECURITY_INFO_BACKUP)); } // Helper function to take ownership and modify file permissions |