From 116230b39443393cf72bd4eda9ca869c5db59461 Mon Sep 17 00:00:00 2001 From: Michael Howitz Date: Wed, 1 Feb 2017 20:10:56 +0100 Subject: [PATCH] Prevent using mutable objects as default params. --- src/RestrictedPython/transformer.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/RestrictedPython/transformer.py b/src/RestrictedPython/transformer.py index 7c5c75c..d378ba4 100644 --- a/src/RestrictedPython/transformer.py +++ b/src/RestrictedPython/transformer.py @@ -86,11 +86,11 @@ def new_print_scope(self): class RestrictingNodeTransformer(ast.NodeTransformer): - def __init__(self, errors=[], warnings=[], used_names=[]): + def __init__(self, errors=None, warnings=None, used_names=None): super(RestrictingNodeTransformer, self).__init__() - self.errors = errors - self.warnings = warnings - self.used_names = used_names + self.errors = [] if errors is None else errors + self.warnings = [] if warnings is None else warnings + self.used_names = [] if used_names is None else used_names # Global counter to construct temporary variable names. self._tmp_idx = 0