diff -u subversion-1.4.4dfsg1/debian/changelog subversion-1.4.4dfsg1/debian/changelog --- subversion-1.4.4dfsg1/debian/changelog +++ subversion-1.4.4dfsg1/debian/changelog @@ -1,3 +1,10 @@ +subversion (1.4.4dfsg1-1ubuntu5) hardy; urgency=medium + + * Add debian/patches/python-memleak: Fix major memory leak in the + Python bindings. Taken from Debian SVN head. (LP: #54253) + + -- Jelmer Vernooij Fri, 18 Jan 2008 01:28:28 +0100 + subversion (1.4.4dfsg1-1ubuntu4) hardy; urgency=low * debian/control: diff -u subversion-1.4.4dfsg1/debian/patches/00list subversion-1.4.4dfsg1/debian/patches/00list --- subversion-1.4.4dfsg1/debian/patches/00list +++ subversion-1.4.4dfsg1/debian/patches/00list @@ -4,6 +4,7 @@ last-changed-date-charset no-extra-libs no-extra-libs-2 +python-memleak repos-templates rpath ruby-no-strict-aliasing only in patch2: unchanged: --- subversion-1.4.4dfsg1.orig/debian/patches/python-memleak +++ subversion-1.4.4dfsg1/debian/patches/python-memleak @@ -0,0 +1,24 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## python-memleak by +## +## DP: Fix a serious memory leak in the Python bindings. +## DP: Upstream trunk r28544. + +@DPATCH@ +Index: subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c +=================================================================== +--- a/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c ++++ b/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c +@@ -780,8 +780,10 @@ + PyObject *new_py_pool = svn_swig_NewPointerObj(new_pool, \ + svn_swig_TypeQuery("apr_pool_t *"), application_py_pool, NULL); \ + svn_##type##_t *new_value = dup(value, new_pool); \ +- return svn_swig_NewPointerObjString(new_value, "svn_" #type "_t *", \ +- new_py_pool); \ ++ PyObject *obj = svn_swig_NewPointerObjString(new_value, "svn_" #type "_t *", \ ++ new_py_pool); \ ++ Py_XDECREF(new_py_pool); \ ++ return obj; \ + } + + DECLARE_SWIG_CONSTRUCTOR(txdelta_window, svn_txdelta_window_dup)