From cef5b6794beccae29ed405e575d104724e6a8e58 Mon Sep 17 00:00:00 2001 From: "Remi GASCOU (Podalirius)" <79218792+p0dalirius@users.noreply.github.com> Date: Sat, 18 Apr 2026 13:18:27 +0200 Subject: [PATCH] Fix crash on non-integer value argument (#2) --- msFlagsDecoder.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/msFlagsDecoder.py b/msFlagsDecoder.py index 5483698..50f119c 100755 --- a/msFlagsDecoder.py +++ b/msFlagsDecoder.py @@ -73,9 +73,14 @@ def parseArgs(): if __name__ == '__main__': options = parseArgs() + try: + options.value = int(options.value) + except ValueError: + print("[!] Invalid value %r: expected an integer" % options.value) + exit(1) + if options.attribute.lower() == "userAccountControl".lower(): bits = 32 - options.value = int(options.value) if options.bits == True: print("[>] %-30s : %s" % ("userAccountControl value", bin(options.value)[2:].rjust(bits, '0').replace('0', '.'))) else: @@ -119,7 +124,6 @@ def parseArgs(): elif options.attribute.lower() == "sAMAccountType".lower(): bits = 32 - options.value = int(options.value) if options.bits == True: print("[>] %-25s : %s" % ("sAMAccountType value", bin(options.value)[2:].rjust(bits, '0').replace('0', '.'))) else: