Skip to content

Commit

Permalink
Fix the error handling in bytesio_sizeof(). (GH-10459)
Browse files Browse the repository at this point in the history
bytesio_sizeof() must check if an error has occurred in _PySys_GetSizeOf().
  • Loading branch information
ZackerySpytz authored and serhiy-storchaka committed Jun 1, 2019
1 parent bdbad71 commit 36dcaab
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions Modules/_io/bytesio.c
Original file line number Diff line number Diff line change
Expand Up @@ -943,8 +943,13 @@ bytesio_sizeof(bytesio *self, void *unused)
Py_ssize_t res;

res = _PyObject_SIZE(Py_TYPE(self));
if (self->buf && !SHARED_BUF(self))
res += _PySys_GetSizeOf(self->buf);
if (self->buf && !SHARED_BUF(self)) {
Py_ssize_t s = _PySys_GetSizeOf(self->buf);
if (s == -1) {
return NULL;
}
res += s;
}
return PyLong_FromSsize_t(res);
}

Expand Down

0 comments on commit 36dcaab

Please sign in to comment.