Index: sandbox/win/src/acl.cc |
diff --git a/sandbox/win/src/acl.cc b/sandbox/win/src/acl.cc |
index 539c180b8472f61050b54964f08dca4c943179a9..f2f5ac49e713a2fcda523939095dd73d8ef9e926 100644 |
--- a/sandbox/win/src/acl.cc |
+++ b/sandbox/win/src/acl.cc |
@@ -88,8 +88,12 @@ bool RevokeLogonSidFromDefaultDacl(HANDLE token) { |
std::unique_ptr<TOKEN_GROUPS, base::FreeDeleter> logon_sid_ptr(logon_sid); |
- if (!::GetTokenInformation(token, TokenLogonSid, logon_sid, size, &size)) |
+ if (!::GetTokenInformation(token, TokenLogonSid, logon_sid, size, &size)) { |
+ // If no logon sid, there's nothing to revoke. |
+ if (::GetLastError() == ERROR_NOT_FOUND) |
+ return true; |
return false; |
+ } |
if (logon_sid->GroupCount < 1) { |
::SetLastError(ERROR_INVALID_TOKEN); |
return false; |