bug #1154: release memory allocated by "es" PyArg_ParseTuple format specifier.
(backport from rev. 58119)
This commit is contained in:
parent
b8c23fb5fe
commit
226910f52d
|
@ -1828,6 +1828,7 @@ int CFStringRefObj_Convert(PyObject *v, CFStringRef *p_itself)
|
|||
if (!PyArg_Parse(v, "es", "ascii", &cStr))
|
||||
return 0;
|
||||
*p_itself = CFStringCreateWithCString((CFAllocatorRef)NULL, cStr, kCFStringEncodingASCII);
|
||||
PyMem_Free(cStr);
|
||||
return 1;
|
||||
}
|
||||
if (PyUnicode_Check(v)) {
|
||||
|
|
|
@ -429,6 +429,7 @@ class CFStringRefObjectDefinition(MyGlobalObjectDefinition):
|
|||
if (!PyArg_Parse(v, "es", "ascii", &cStr))
|
||||
return NULL;
|
||||
*p_itself = CFStringCreateWithCString((CFAllocatorRef)NULL, cStr, kCFStringEncodingASCII);
|
||||
PyMem_Free(cStr);
|
||||
return 1;
|
||||
}
|
||||
if (PyUnicode_Check(v)) {
|
||||
|
|
|
@ -285,6 +285,7 @@ PyCF_Python2CF_string(PyObject *src, CFStringRef *dst) {
|
|||
if (!PyArg_Parse(src, "es", "ascii", &chars))
|
||||
return 0; /* This error is more descriptive than the general one below */
|
||||
*dst = CFStringCreateWithCString((CFAllocatorRef)NULL, chars, kCFStringEncodingASCII);
|
||||
PyMem_Free(chars);
|
||||
return 1;
|
||||
}
|
||||
if (PyUnicode_Check(src)) {
|
||||
|
|
Loading…
Reference in New Issue