From: Thierry Parmentelat Date: Mon, 26 May 2014 09:48:50 +0000 (+0200) Subject: it is wrong and dangerous to define defaut arguments as a mutable like [] X-Git-Tag: sfa-3.1-5~17 X-Git-Url: http://git.onelab.eu/?p=sfa.git;a=commitdiff_plain;h=7e021cc4efc2b7b0523716b5b536121f4ce29bc9 it is wrong and dangerous to define defaut arguments as a mutable like [] --- diff --git a/sfa/trust/auth.py b/sfa/trust/auth.py index 0b4d3372..0a2b3ce0 100644 --- a/sfa/trust/auth.py +++ b/sfa/trust/auth.py @@ -36,8 +36,11 @@ class Auth: self.trusted_cert_list = TrustedRoots(self.config.get_trustedroots_dir()).get_list() self.trusted_cert_file_list = TrustedRoots(self.config.get_trustedroots_dir()).get_file_list() - def checkCredentials(self, creds, operation, xrns=[], check_sliver_callback=None, speaking_for_hrn=None): - + # do not use mutable as default argument + # http://docs.python-guide.org/en/latest/writing/gotchas/#mutable-default-arguments + def checkCredentials(self, creds, operation, xrns=None, + check_sliver_callback=None, speaking_for_hrn=None): + if xrns is None: xrns=[] def log_invalid_cred(cred): cred_obj=Credential(string=cred) logger.debug("failed to validate credential - dump=%s"%cred_obj.dump_string(dump_parents=True))