Plug a leak with calling something other than a function or method is
called with keyword arguments -- the keyword and value were leaked.
This affected for instance with a __call__() method.
Bug reported and fix supplied by Jim Fulton.
diff --git a/Python/ceval.c b/Python/ceval.c
index 246b9a4..a59a1c9 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -1482,11 +1482,10 @@
object *key = POP();
err = mappinginsert(
kwdict, key, value);
- if (err) {
- DECREF(key);
- DECREF(value);
+ DECREF(key);
+ DECREF(value);
+ if (err)
break;
- }
}
if (err) {
DECREF(args);