#3668: When PyArg_ParseTuple correctly parses a s* format, but raises an
exception afterwards (for a subsequent parameter), the user code will
not call PyBuffer_Release() and memory will leak.
Reviewed by Amaury Forgeot d'Arc.
diff --git a/Include/cobject.h b/Include/cobject.h
index 499dfad..4e24d7d 100644
--- a/Include/cobject.h
+++ b/Include/cobject.h
@@ -48,6 +48,15 @@
/* Modify a C object. Fails (==0) if object has a destructor. */
PyAPI_FUNC(int) PyCObject_SetVoidPtr(PyObject *self, void *cobj);
+
+typedef struct {
+ PyObject_HEAD
+ void *cobject;
+ void *desc;
+ void (*destructor)(void *);
+} PyCObject;
+
+
#ifdef __cplusplus
}
#endif