Make sure locals in safe_eval is a plain dict when running eval

Fixes #12206
pull/12217/head
James Cammarata 9 years ago
parent 9ecfc30f9a
commit 5434ed973b

@ -107,7 +107,7 @@ def safe_eval(expr, locals={}, include_exceptions=False):
parsed_tree = ast.parse(expr, mode='eval')
cnv.visit(parsed_tree)
compiled = compile(parsed_tree, expr, 'eval')
result = eval(compiled, {}, locals)
result = eval(compiled, {}, dict(locals))
if include_exceptions:
return (result, None)

Loading…
Cancel
Save