• Marc-André Lemburg's avatar
    PyObject_SetAttr() and PyObject_GetAttr() now also accept Unicode · e44e507b
    Marc-André Lemburg yazdı
    objects for the attribute name. Unicode objects are converted to
    a string using the default encoding before trying the lookup.
    
    Note that previously it was allowed to pass arbitrary objects as
    attribute name in case the tp_getattro/setattro slots were defined.
    This patch fixes this by applying an explicit string check first:
    all uses of these slots expect string objects and do not check
    for the type resulting in a core dump. The tp_getattro/setattro
    are still useful as optimization for lookups using interned
    string objects though.
    
    This patch fixes bug #113829.
    e44e507b
object.c 27.5 KB