Fix memory leak found by valgrind.

This commit is contained in:
Neal Norwitz 2006-06-02 04:50:49 +00:00
parent e152aab977
commit 38d4d4a35b
2 changed files with 4 additions and 3 deletions

View File

@ -265,7 +265,9 @@ class ExceptionTests(unittest.TestCase):
if (e is not exc and # needed for sampleUnicode errors if (e is not exc and # needed for sampleUnicode errors
type(e) is not exc): type(e) is not exc):
raise raise
for checkArgName in expected.keys(): # Verify no ref leaks in Exc_str()
s = str(e)
for checkArgName in expected:
self.assertEquals(repr(getattr(e, checkArgName)), self.assertEquals(repr(getattr(e, checkArgName)),
repr(expected[checkArgName]), repr(expected[checkArgName]),
'exception "%s", attribute "%s"' % 'exception "%s", attribute "%s"' %
@ -273,7 +275,7 @@ class ExceptionTests(unittest.TestCase):
# test for pickling support # test for pickling support
new = pickle.loads(pickle.dumps(e, random.randint(0, 2))) new = pickle.loads(pickle.dumps(e, random.randint(0, 2)))
for checkArgName in expected.keys(): for checkArgName in expected:
self.assertEquals(repr(getattr(e, checkArgName)), self.assertEquals(repr(getattr(e, checkArgName)),
repr(expected[checkArgName]), repr(expected[checkArgName]),
'pickled exception "%s", attribute "%s' % 'pickled exception "%s", attribute "%s' %

View File

@ -619,7 +619,6 @@ EnvironmentError_str(PyEnvironmentErrorObject *self)
PyTuple_SET_ITEM(tuple, 1, Py_None); PyTuple_SET_ITEM(tuple, 1, Py_None);
} }
Py_INCREF(repr);
PyTuple_SET_ITEM(tuple, 2, repr); PyTuple_SET_ITEM(tuple, 2, repr);
rtnval = PyString_Format(fmt, tuple); rtnval = PyString_Format(fmt, tuple);