PyCData types have stgdict, so `PyObject_stgdict` can not return NULL.
Add an assert to make this clear.
StgDictObject *item_dict = PyType_stgdict(item_type);
if (view == NULL) return 0;
+ assert(dict);
view->buf = self->b_ptr;
view->obj = Py_NewRef(myself);
{
CDataObject *self = (CDataObject *)myself;
- if (PyObject_stgdict(myself)->flags & (TYPEFLAG_ISPOINTER|TYPEFLAG_HASPOINTER)) {
+ StgDictObject *stgdict = PyObject_stgdict(myself);
+ assert(stgdict);
+
+ if (stgdict->flags & (TYPEFLAG_ISPOINTER|TYPEFLAG_HASPOINTER)) {
PyErr_SetString(PyExc_ValueError,
"ctypes objects containing pointers cannot be pickled");
return NULL;