diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2008-08-29 18:37:05 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2008-08-29 18:37:05 (GMT) |
commit | f7199578be41182fcbcd0350521f9545210e0ddd (patch) | |
tree | a0266cbfeb6d6f2d841a2c742cbf007c108860e2 /Include | |
parent | db26f7c13748db526e52501d3ba2856a6e30c7a5 (diff) | |
download | cpython-f7199578be41182fcbcd0350521f9545210e0ddd.zip cpython-f7199578be41182fcbcd0350521f9545210e0ddd.tar.gz cpython-f7199578be41182fcbcd0350521f9545210e0ddd.tar.bz2 |
#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.
Diffstat (limited to 'Include')
-rw-r--r-- | Include/cobject.h | 9 |
1 files changed, 9 insertions, 0 deletions
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 @@ PyAPI_FUNC(void *) PyCObject_Import(char *module_name, char *cobject_name); /* 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 |