|
@@ -360,15 +360,20 @@ static int enable_line_buffering(PyObject *file) {
|
|
|
if (method != NULL) {
|
|
if (method != NULL) {
|
|
|
PyObject *result = PyObject_Call(method, args, kwargs);
|
|
PyObject *result = PyObject_Call(method, args, kwargs);
|
|
|
Py_DECREF(method);
|
|
Py_DECREF(method);
|
|
|
|
|
+ Py_DECREF(kwargs);
|
|
|
|
|
+ Py_DECREF(args);
|
|
|
if (result != NULL) {
|
|
if (result != NULL) {
|
|
|
Py_DECREF(result);
|
|
Py_DECREF(result);
|
|
|
} else {
|
|
} else {
|
|
|
PyErr_Clear();
|
|
PyErr_Clear();
|
|
|
return 0;
|
|
return 0;
|
|
|
}
|
|
}
|
|
|
|
|
+ } else {
|
|
|
|
|
+ Py_DECREF(kwargs);
|
|
|
|
|
+ Py_DECREF(args);
|
|
|
|
|
+ PyErr_Clear();
|
|
|
|
|
+ return 0;
|
|
|
}
|
|
}
|
|
|
- Py_DECREF(kwargs);
|
|
|
|
|
- Py_DECREF(args);
|
|
|
|
|
#else
|
|
#else
|
|
|
/* Older versions just don't expose a way to reconfigure(), but it's still
|
|
/* Older versions just don't expose a way to reconfigure(), but it's still
|
|
|
safe to override the property; we just have to use a hack to do it,
|
|
safe to override the property; we just have to use a hack to do it,
|