Re: [Python-Dev] Add a frozendict builtin type

2012年2月29日 23:45:31 -0800

01.03.12 01:52, Victor Stinner написав(ла):
Problem: if you implement a frozendict type inheriting from dict in
Python, it is still possible to call dict methods (e.g.
dict.__setitem__()). To fix this issue, pysandbox removes all dict
methods modifying the dict: __setitem__, __delitem__, pop, etc. This
is a problem because untrusted code cannot use these methods on valid
dict created in the sandbox.
You can redefine dict.__setitem__.
 oldsetitem = dict.__setitem__
 def newsetitem(self, value):
 # check if self is not frozendict
 ...
 oldsetitem(self, value)
 ....
 dict.__setitem__ = newsetitem
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to