def __init__(self, *args, **kwds): StdObjSpace.__init__(self, *args, **kwds) w_dict = self.newdict() self.setitem(w_dict, self.wrap("__doc__"), self.wrap("""\ Exception that is raised when an operation revealing information on a tainted object is performed.""")) self.w_TaintError = self.call_function( self.w_type, self.wrap("TaintError"), self.newtuple([self.w_Exception]), w_dict ) w___pypy__ = self.getbuiltinmodule("__pypy__") self.setattr(w___pypy__, self.wrap('taint'), self.wrap(app_taint)) self.setattr(w___pypy__, self.wrap('is_tainted'), self.wrap(app_is_tainted)) self.setattr(w___pypy__, self.wrap('untaint'), self.wrap(app_untaint)) self.w_fn_taint_atomic_function = self.wrap(app_taint_atomic_function) self.setattr(w___pypy__, self.wrap('taint_atomic'), self.wrap(app_taint_atomic)) self.setattr(w___pypy__, self.wrap('TaintError'), self.w_TaintError) self.setattr(w___pypy__, self.wrap('_taint_debug'), self.wrap(app_taint_debug)) self.setattr(w___pypy__, self.wrap('_taint_look'), self.wrap(app_taint_look)) patch_space_in_place(self, 'taint', proxymaker) # XXX may leak info, perfomance hit, what about taint bombs? from pypy.objspace.std.typeobject import W_TypeObject def taint_lookup(w_obj, name): if isinstance(w_obj, W_Tainted): w_obj = w_obj.w_obj w_type = self.type(w_obj) assert isinstance(w_type, W_TypeObject) return w_type.lookup(name) def taint_lookup_in_type_where(w_obj, name): if isinstance(w_obj, W_Tainted): w_type = w_obj.w_obj else: w_type = w_obj assert isinstance(w_type, W_TypeObject) return w_type.lookup_where(name) self.lookup = taint_lookup self.lookup_in_type_where = taint_lookup_in_type_where
def __init__(self, *args, **kwds): StdObjSpace.__init__(self, *args, **kwds) w_dict = self.newdict() self.setitem( w_dict, self.wrap("__doc__"), self.wrap("""\ Exception that is raised when an operation revealing information on a tainted object is performed.""")) self.w_TaintError = self.call_function( self.w_type, self.wrap("TaintError"), self.newtuple([self.w_Exception]), w_dict) w___pypy__ = self.getbuiltinmodule("__pypy__") self.setattr(w___pypy__, self.wrap('taint'), self.wrap(app_taint)) self.setattr(w___pypy__, self.wrap('is_tainted'), self.wrap(app_is_tainted)) self.setattr(w___pypy__, self.wrap('untaint'), self.wrap(app_untaint)) self.w_fn_taint_atomic_function = self.wrap(app_taint_atomic_function) self.setattr(w___pypy__, self.wrap('taint_atomic'), self.wrap(app_taint_atomic)) self.setattr(w___pypy__, self.wrap('TaintError'), self.w_TaintError) self.setattr(w___pypy__, self.wrap('_taint_debug'), self.wrap(app_taint_debug)) self.setattr(w___pypy__, self.wrap('_taint_look'), self.wrap(app_taint_look)) patch_space_in_place(self, 'taint', proxymaker) # XXX may leak info, perfomance hit, what about taint bombs? from pypy.objspace.std.typeobject import W_TypeObject def taint_lookup(w_obj, name): if isinstance(w_obj, W_Tainted): w_obj = w_obj.w_obj w_type = self.type(w_obj) assert isinstance(w_type, W_TypeObject) return w_type.lookup(name) def taint_lookup_in_type_where(w_obj, name): if isinstance(w_obj, W_Tainted): w_type = w_obj.w_obj else: w_type = w_obj assert isinstance(w_type, W_TypeObject) return w_type.lookup_where(name) self.lookup = taint_lookup self.lookup_in_type_where = taint_lookup_in_type_where
def __init__(self, *args, **kwds): self.dumper = Dumper(self) StdObjSpace.__init__(self, *args, **kwds) patch_space_in_place(self, 'dump', proxymaker)
def __init__(self, *args, **kwds): self.dumper = Dumper(self) StdObjSpace.__init__(self, *args, **kwds) patch_space_in_place(self, 'dump', proxymaker)