From 4facdf523aa6967487a9425f124da9661b59fd43 Mon Sep 17 00:00:00 2001 From: Oren Milman Date: Sun, 24 Sep 2017 12:21:42 +0300 Subject: bpo-31311: Impove error reporting in case the first argument to PyCData_setstate() isn't a dictionary. (#3255) --- Modules/_ctypes/_ctypes.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c index 1942c63..8afb8cc 100644 --- a/Modules/_ctypes/_ctypes.c +++ b/Modules/_ctypes/_ctypes.c @@ -2665,8 +2665,11 @@ PyCData_setstate(PyObject *myself, PyObject *args) int res; PyObject *dict, *mydict; CDataObject *self = (CDataObject *)myself; - if (!PyArg_ParseTuple(args, "Os#", &dict, &data, &len)) + if (!PyArg_ParseTuple(args, "O!s#", + &PyDict_Type, &dict, &data, &len)) + { return NULL; + } if (len > self->b_size) len = self->b_size; memmove(self->b_ptr, data, len); -- cgit v0.12