diff options
Diffstat (limited to 'src/list.c')
-rw-r--r-- | src/list.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -66,8 +66,9 @@ xpybList_init(xpybList *self, PyObject *args, PyObject *kw) if (PyObject_AsReadBuffer(parent, (const void **)&data, &datalen) < 0) return -1; - if (length * size + offset > datalen) { - PyErr_SetString(xpybExcept_base, "Protocol object buffer too short."); + if (size > 0 && length * size + offset > datalen) { + PyErr_Format(xpybExcept_base, "Protocol object buffer too short " + "(expected %zd got %zd).", length * size + offset, datalen); return -1; } |