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 */
};