[Zope-Checkins] SVN: Zope/trunk/ - Collector #1436: applied patch
to fix a memory leak in
Andreas Jung
andreas at andreas-jung.com
Mon Jul 26 16:07:11 EDT 2004
Log message for revision 26769:
- Collector #1436: applied patch to fix a memory leak in
cAccessControl.
Changed:
U Zope/trunk/doc/CHANGES.txt
U Zope/trunk/lib/python/AccessControl/cAccessControl.c
U Zope/trunk/lib/python/AccessControl/tests/testZopeSecurityPolicy.py
-=-
Modified: Zope/trunk/doc/CHANGES.txt
===================================================================
--- Zope/trunk/doc/CHANGES.txt 2004-07-26 20:01:16 UTC (rev 26768)
+++ Zope/trunk/doc/CHANGES.txt 2004-07-26 20:07:11 UTC (rev 26769)
@@ -129,6 +129,9 @@
Bugs fixed
+ - Collector #1436: applied patch to fix a memory leak in
+ cAccessControl.
+
- Collector #1431: fixed NetBSD support in initgroups.c
- Collector #1406: fixed segmentation fault by acquisition
Modified: Zope/trunk/lib/python/AccessControl/cAccessControl.c
===================================================================
--- Zope/trunk/lib/python/AccessControl/cAccessControl.c 2004-07-26 20:01:16 UTC (rev 26768)
+++ Zope/trunk/lib/python/AccessControl/cAccessControl.c 2004-07-26 20:07:11 UTC (rev 26769)
@@ -1228,8 +1228,10 @@
}
goto err;
}
- else
+ else {
+ Py_DECREF(eo);
Py_DECREF(proxy_roles);
+ }
} /* End of stack check */
/*| try:
Modified: Zope/trunk/lib/python/AccessControl/tests/testZopeSecurityPolicy.py
===================================================================
--- Zope/trunk/lib/python/AccessControl/tests/testZopeSecurityPolicy.py 2004-07-26 20:01:16 UTC (rev 26768)
+++ Zope/trunk/lib/python/AccessControl/tests/testZopeSecurityPolicy.py 2004-07-26 20:07:11 UTC (rev 26769)
@@ -221,6 +221,17 @@
self.assertPolicyAllows(item, 'setuid_m')
self.assertPolicyAllows(item, 'dangerous_m')
+ def testIdentityProxy(self):
+ eo = ImplictAcqObject()
+ eo.getOwner = lambda: None
+ self.context.stack.append(eo)
+ rc = sys.getrefcount(eo)
+ self.testUserAccess()
+ self.assertEqual(rc, sys.getrefcount(eo))
+ eo._proxy_roles = ()
+ self.testUserAccess()
+ self.assertEqual(rc, sys.getrefcount(eo))
+
def testAccessToUnprotectedSubobjects(self):
item = self.item
r_item = self.a.r_item
More information about the Zope-Checkins
mailing list