Author: philip
Date: Fri Apr 5 09:24:57 2013
New Revision: 1464899
URL: http://svn.apache.org/r1464899
Log:
Fix some reference counting bugs in the SWIG Python bindings.
* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
(svn_swig_py_propinheriteditemarray_to_dict,
svn_swig_py_proparray_to_dict,
svn_swig_py_locationhash_to_dict): Add missing Py_DECREF.
Modified:
subversion/trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
Modified:
subversion/trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c?rev=1464899&r1=1464898&r2=1464899&view=diff
==============================================================================
---
subversion/trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
(original)
+++
subversion/trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
Fri Apr 5 09:24:57 2013
@@ -742,6 +742,9 @@ svn_swig_py_propinheriteditemarray_to_di
Py_DECREF(py_key);
goto error;
}
+
+ Py_DECREF(py_value);
+ Py_DECREF(py_key);
}
return dict;
@@ -786,7 +789,15 @@ PyObject *svn_swig_py_proparray_to_dict(
}
}
- PyDict_SetItem(dict, py_key, py_value);
+ if (PyDict_SetItem(dict, py_key, py_value) == -1)
+ {
+ Py_DECREF(py_key);
+ Py_DECREF(py_value);
+ goto error;
+ }
+
+ Py_DECREF(py_key);
+ Py_DECREF(py_value);
}
return dict;
@@ -829,6 +840,7 @@ PyObject *svn_swig_py_locationhash_to_di
}
if (PyDict_SetItem(dict, key, value) == -1)
{
+ Py_DECREF(key);
Py_DECREF(value);
Py_DECREF(dict);
return NULL;