summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libs/installer/adminauthorization_win.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/libs/installer/adminauthorization_win.cpp b/src/libs/installer/adminauthorization_win.cpp
index 151fef953..a985616c9 100644
--- a/src/libs/installer/adminauthorization_win.cpp
+++ b/src/libs/installer/adminauthorization_win.cpp
@@ -81,7 +81,7 @@ bool AdminAuthorization::authorize()
bool AdminAuthorization::hasAdminRights()
{
SID_IDENTIFIER_AUTHORITY authority = { SECURITY_NT_AUTHORITY };
- PSID adminGroup;
+ PSID adminGroup = 0;
// Initialize SID.
if (!AllocateAndInitializeSid(&authority,
2,
@@ -91,12 +91,12 @@ bool AdminAuthorization::hasAdminRights()
&adminGroup))
return false;
- bool isInAdminGroup = false;
- if (!CheckTokenMembership(0, adminGroup, (int*)&isInAdminGroup))
- isInAdminGroup = false;
+ BOOL isInAdminGroup = FALSE;
+ if (CheckTokenMembership(0, adminGroup, &isInAdminGroup))
+ isInAdminGroup = TRUE;
FreeSid(adminGroup);
- return isInAdminGroup;
+ return (isInAdminGroup == BOOL(TRUE));
}
bool AdminAuthorization::execute(QWidget *, const QString &program, const QStringList &arguments)