summaryrefslogtreecommitdiff
path: root/Modules/_ctypes/_ctypes.c
diff options
context:
space:
mode:
authorEric Wieser <wieser.eric@gmail.com>2019-06-07 01:13:26 -0700
committerStefan Krah <skrah@bytereef.org>2019-06-07 10:13:26 +0200
commit0690c79c419b8d2bdfe7c5b6dca57b018f5a5a54 (patch)
treec97f618f70df6cf7d9bba176f732995441858dd2 /Modules/_ctypes/_ctypes.c
parent554450fb4e95066e825bdb4a2d544a490daeebdc (diff)
downloadcpython-git-0690c79c419b8d2bdfe7c5b6dca57b018f5a5a54.tar.gz
bpo-37188: Fix a divide-by-zero in arrays of size-0 objects (#13881)
Diffstat (limited to 'Modules/_ctypes/_ctypes.c')
-rw-r--r--Modules/_ctypes/_ctypes.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c
index f7513a3d74..2201c4520a 100644
--- a/Modules/_ctypes/_ctypes.c
+++ b/Modules/_ctypes/_ctypes.c
@@ -1518,7 +1518,7 @@ PyCArrayType_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
}
itemsize = itemdict->size;
- if (length > PY_SSIZE_T_MAX / itemsize) {
+ if (itemsize != 0 && length > PY_SSIZE_T_MAX / itemsize) {
PyErr_SetString(PyExc_OverflowError,
"array too large");
goto error;