Fix the error handling in bytesio_sizeof(). (GH-10459)
bytesio_sizeof() must check if an error has occurred in _PySys_GetSizeOf().
This commit is contained in:
parent
bdbad71b9d
commit
36dcaab7fd
|
@ -943,8 +943,13 @@ bytesio_sizeof(bytesio *self, void *unused)
|
||||||
Py_ssize_t res;
|
Py_ssize_t res;
|
||||||
|
|
||||||
res = _PyObject_SIZE(Py_TYPE(self));
|
res = _PyObject_SIZE(Py_TYPE(self));
|
||||||
if (self->buf && !SHARED_BUF(self))
|
if (self->buf && !SHARED_BUF(self)) {
|
||||||
res += _PySys_GetSizeOf(self->buf);
|
Py_ssize_t s = _PySys_GetSizeOf(self->buf);
|
||||||
|
if (s == -1) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
res += s;
|
||||||
|
}
|
||||||
return PyLong_FromSsize_t(res);
|
return PyLong_FromSsize_t(res);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue