Message323789
>>> from abc import ABCMeta
>>> class S(metaclass=ABCMeta):
... __subclasses__ = None
...
>>> issubclass(int, S)
Segmentation fault (core dumped)
This is the result of missing NULL check for 'subclasses' in _abc__abc_subclasscheck_impl (Modules/_abc.c):
/* 6. Check if it's a subclass of a subclass (recursive). */
subclasses = PyObject_CallMethod(self, "__subclasses__", NULL);
if (!PyList_Check(subclasses)) {
PyErr_SetString(PyExc_TypeError, "__subclasses__() must return a list");
goto end;
}
Reported by Svace static analyzer. |
|
Date |
User |
Action |
Args |
2018-08-20 13:41:11 | izbyshev | set | recipients:
+ izbyshev, methane, serhiy.storchaka, levkivskyi |
2018-08-20 13:41:11 | izbyshev | set | messageid: <1534772471.92.0.56676864532.issue34441@psf.upfronthosting.co.za> |
2018-08-20 13:41:11 | izbyshev | link | issue34441 messages |
2018-08-20 13:41:11 | izbyshev | create | |
|