]> granicus.if.org Git - python/commit
Issue #18408: slot_tp_str() must not fallback on slot_tp_repr() on error
authorVictor Stinner <victor.stinner@gmail.com>
Thu, 11 Jul 2013 20:46:11 +0000 (22:46 +0200)
committerVictor Stinner <victor.stinner@gmail.com>
Thu, 11 Jul 2013 20:46:11 +0000 (22:46 +0200)
commit2e8474ddde61204b2671225cf4482dbc6fab4ea1
tree537985e9e76380ca0006ed0f7643591c9821a100
parent54e4ca76c9470b81e3ae72a23aac59907f633fe1
Issue #18408: slot_tp_str() must not fallback on slot_tp_repr() on error

type->tp_str must not point to slot_tp_str() if type has no __str__ attribute,
so there is no reason for slot_tp_str() to fallback on slot_tp_str() on lookup
error. Moreover, calling PyErr_Clear() may hide a real bug like MemoryError.

If __str__ attribute is removed, slots must be updated (which is done by
type_setattro()).
Objects/typeobject.c