[Python-Dev] Add a frozendict builtin type (original) (raw)

Serhiy Storchaka storchaka at gmail.com
Thu Mar 1 08:43:13 CET 2012


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



More information about the Python-Dev mailing list