Fix memory leak found by valgrind.
diff --git a/Lib/test/test_exceptions.py b/Lib/test/test_exceptions.py
index 8bd385a..84d2798 100644
--- a/Lib/test/test_exceptions.py
+++ b/Lib/test/test_exceptions.py
@@ -265,7 +265,9 @@
                 if (e is not exc and     # needed for sampleUnicode errors
                     type(e) is not exc):
                     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)),
                                       repr(expected[checkArgName]),
                                       'exception "%s", attribute "%s"' %
@@ -273,7 +275,7 @@
 
                 # test for pickling support
                 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)),
                                       repr(expected[checkArgName]),
                                       'pickled exception "%s", attribute "%s' %
diff --git a/Objects/exceptions.c b/Objects/exceptions.c
index acc7da5..3b79307 100644
--- a/Objects/exceptions.c
+++ b/Objects/exceptions.c
@@ -619,7 +619,6 @@
             PyTuple_SET_ITEM(tuple, 1, Py_None);
         }
 
-        Py_INCREF(repr);
         PyTuple_SET_ITEM(tuple, 2, repr);
 
         rtnval = PyString_Format(fmt, tuple);