You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mod_python-commits@quetz.apache.org by gr...@apache.org on 2006/08/27 07:28:28 UTC

svn commit: r437300 - in /httpd/mod_python/trunk: lib/python/mod_python/__init__.py src/include/mpversion.h src/tableobject.c

Author: grahamd
Date: Sat Aug 26 22:28:27 2006
New Revision: 437300

URL: http://svn.apache.org/viewvc?rev=437300&view=rev
Log:
(MODPYTHON-184) Fix memory leak in apache.make_table(). This was used by
util.FieldStorage class so affected all code using forms.


Modified:
    httpd/mod_python/trunk/lib/python/mod_python/__init__.py
    httpd/mod_python/trunk/src/include/mpversion.h
    httpd/mod_python/trunk/src/tableobject.c

Modified: httpd/mod_python/trunk/lib/python/mod_python/__init__.py
URL: http://svn.apache.org/viewvc/httpd/mod_python/trunk/lib/python/mod_python/__init__.py?rev=437300&r1=437299&r2=437300&view=diff
==============================================================================
--- httpd/mod_python/trunk/lib/python/mod_python/__init__.py (original)
+++ httpd/mod_python/trunk/lib/python/mod_python/__init__.py Sat Aug 26 22:28:27 2006
@@ -20,5 +20,5 @@
 __all__ = ["apache", "cgihandler", "psp",
            "publisher", "util", "python22"]
 
-version = "3.3.0-dev-20060824"
+version = "3.3.0-dev-20060827"
 

Modified: httpd/mod_python/trunk/src/include/mpversion.h
URL: http://svn.apache.org/viewvc/httpd/mod_python/trunk/src/include/mpversion.h?rev=437300&r1=437299&r2=437300&view=diff
==============================================================================
--- httpd/mod_python/trunk/src/include/mpversion.h (original)
+++ httpd/mod_python/trunk/src/include/mpversion.h Sat Aug 26 22:28:27 2006
@@ -1,5 +1,5 @@
 #define MPV_MAJOR 3
 #define MPV_MINOR 3
 #define MPV_PATCH 0
-#define MPV_BUILD 20060824
-#define MPV_STRING "3.3.0-dev-20060824"
+#define MPV_BUILD 20060827
+#define MPV_STRING "3.3.0-dev-20060827"

Modified: httpd/mod_python/trunk/src/tableobject.c
URL: http://svn.apache.org/viewvc/httpd/mod_python/trunk/src/tableobject.c?rev=437300&r1=437299&r2=437300&view=diff
==============================================================================
--- httpd/mod_python/trunk/src/tableobject.c (original)
+++ httpd/mod_python/trunk/src/tableobject.c Sat Aug 26 22:28:27 2006
@@ -946,11 +946,6 @@
     0,                                  /* sq_inplace_repeat */
 };
 
-static PyObject *table_alloc(PyTypeObject *type, int nitems)
-{
-    return MpTable_New();
-}
-
 /**
  ** table_new
  **
@@ -958,20 +953,7 @@
 
 static PyObject *table_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
 {
-    PyObject *self;
-
-    assert(type != NULL && type->tp_alloc != NULL);
-    self = type->tp_alloc(type, 0);
-    if (self != NULL) {
-        apr_pool_t *p;
-        tableobject *t = (tableobject *)self;
-        apr_pool_create_ex(&p, NULL, NULL, NULL);
-        t->pool = p;
-        t->table = apr_table_make(p, 2);
-    }
-
-    return self;
-
+    return MpTable_New();
 }
 
 static int table_init(tableobject *self, PyObject *args, PyObject *kwds)
@@ -1052,7 +1034,7 @@
     0,                                  /* tp_descr_set */
     0,                                  /* tp_dictoffset */
     (initproc)table_init,               /* tp_init */
-    (allocfunc)table_alloc,             /* tp_alloc */
+    0,                                  /* tp_alloc */
     table_new,                          /* tp_new */
     (destructor)table_dealloc,          /* tp_free */
 };