From: parmentelat Date: Fri, 14 Dec 2018 13:41:25 +0000 (+0100) Subject: python3 does not leak variable name outside an except as X-Git-Tag: plcapi-7.0-0~10 X-Git-Url: http://git.onelab.eu/?p=plcapi.git;a=commitdiff_plain;h=9735366c3bf4070802e42ce59d5ba7c94ea8f1f5 python3 does not leak variable name outside an except as --- diff --git a/PLC/Method.py b/PLC/Method.py index f01271d..53d1530 100644 --- a/PLC/Method.py +++ b/PLC/Method.py @@ -298,14 +298,16 @@ class Method: """ # If any of a number of types is acceptable - if isinstance(expected, Mixed): + # try them one by one, if one succeeds then it's fine + if expected and isinstance(expected, Mixed): + to_raise = None for item in expected: try: self.type_check(name, value, item, args) return except PLCInvalidArgument as fault: - pass - raise fault + to_raise = fault + raise to_raise # If an authentication structure is expected, save it and # authenticate after basic type checking is done.