From 4836354a164306e9fb9f02e1dcc07bba24ba3def Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Mon, 28 Apr 2014 17:11:33 +0200 Subject: [PATCH] [FIX] safe_eval: allow STORE_FAST and DELETE_FAST opcodes, used e.g. for comprehension expressions bzr revid: odo@openerp.com-20140428151133-uz7mphscch35dl6o --- openerp/tools/safe_eval.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openerp/tools/safe_eval.py b/openerp/tools/safe_eval.py index aa6abccd549..76987e278e6 100644 --- a/openerp/tools/safe_eval.py +++ b/openerp/tools/safe_eval.py @@ -66,7 +66,8 @@ _SAFE_OPCODES = _EXPR_OPCODES.union(set(opmap[x] for x in [ 'MAKE_FUNCTION', 'SLICE+0', 'SLICE+1', 'SLICE+2', 'SLICE+3', # New in Python 2.7 - http://bugs.python.org/issue4715 : 'JUMP_IF_FALSE_OR_POP', 'JUMP_IF_TRUE_OR_POP', 'POP_JUMP_IF_FALSE', - 'POP_JUMP_IF_TRUE', 'SETUP_EXCEPT', 'END_FINALLY', 'LOAD_FAST', + 'POP_JUMP_IF_TRUE', 'SETUP_EXCEPT', 'END_FINALLY', + 'LOAD_FAST', 'STORE_FAST', 'DELETE_FAST', 'LOAD_GLOBAL', # Only allows access to restricted globals ] if x in opmap))