From 7e021cc4efc2b7b0523716b5b536121f4ce29bc9 Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Mon, 26 May 2014 11:48:50 +0200 Subject: [PATCH] it is wrong and dangerous to define defaut arguments as a mutable like [] --- sfa/trust/auth.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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)) -- 2.45.2