From d23a9813e9c183fda69fee52a0c002241ece55ab Mon Sep 17 00:00:00 2001 From: clement rouault Date: Fri, 1 Apr 2022 14:10:41 +0200 Subject: [PATCH] Prevent Token.__repr__ to raise on access denied --- windows/winobject/token.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/windows/winobject/token.py b/windows/winobject/token.py index 027525f..3be8ac9 100644 --- a/windows/winobject/token.py +++ b/windows/winobject/token.py @@ -613,7 +613,10 @@ class Token(utils.AutoHandle): def __repr__(self): flag_repr = gdef.Flag.__repr__ - tid_int = int(self.TokenStatistics.TokenId) + try: + tid_int = int(self.TokenStatistics.TokenId) # May raise -> which is bad as __repr__ may be called on __del__... + except WindowsError as e: + return object.__repr__(self) toktype = self.type if toktype == gdef.TokenPrimary: return "<{0} TokenId={1:#x} Type={2}>".format(type(self).__name__, tid_int, flag_repr(toktype))