Message324073
In the following snippet from PyType_FromSpecWithBases() in Objects/typeobject.c, spec->name is dereferenced by strrchr() but then is checked for NULL:
/* Set the type name and qualname */
s = strrchr(spec->name, '.');
if (s == NULL)
s = (char*)spec->name;
else
s++;
[snip]
type->tp_name = spec->name;
if (!type->tp_name)
goto fail;
This was reported by Svace static analyzer.
If I were to check spec->name first, what error should I report to the caller? Is something like the following OK?
if (spec->name == NULL) {
PyErr_SetString(PyExc_SystemError,
"Type spec does not define the name field.");
goto fail;
} |
|
| Date |
User |
Action |
Args |
| 2018-08-25 15:26:40 | izbyshev | set | recipients:
+ izbyshev, berker.peksag, serhiy.storchaka |
| 2018-08-25 15:26:40 | izbyshev | set | messageid: <1535210800.55.0.56676864532.issue34501@psf.upfronthosting.co.za> |
| 2018-08-25 15:26:40 | izbyshev | link | issue34501 messages |
| 2018-08-25 15:26:40 | izbyshev | create | |
|