Issue #25659: Change assert to TypeError in from_buffer/_copy()

Based on suggestion by Eryk Sun.
This commit is contained in:
Martin Panter 2016-11-20 07:58:35 +00:00
parent 395733d46b
commit 6e723d2d11
3 changed files with 20 additions and 3 deletions

View file

@ -469,7 +469,10 @@ CDataType_from_buffer(PyObject *type, PyObject *args)
Py_ssize_t offset = 0;
StgDictObject *dict = PyType_stgdict(type);
assert (dict);
if (!dict) {
PyErr_SetString(PyExc_TypeError, "abstract class");
return NULL;
}
if (!PyArg_ParseTuple(args, "O|n:from_buffer", &obj, &offset))
return NULL;
@ -537,9 +540,12 @@ CDataType_from_buffer_copy(PyObject *type, PyObject *args)
Py_ssize_t offset = 0;
PyObject *result;
StgDictObject *dict = PyType_stgdict(type);
assert (dict);
if (!dict) {
PyErr_SetString(PyExc_TypeError, "abstract class");
return NULL;
}
if (!PyArg_ParseTuple(args, "y*|n:from_buffer", &buffer, &offset))
if (!PyArg_ParseTuple(args, "y*|n:from_buffer_copy", &buffer, &offset))
return NULL;
if (offset < 0) {