summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1997-01-27 21:30:09 (GMT)
committerGuido van Rossum <guido@python.org>1997-01-27 21:30:09 (GMT)
commitd0eb429b8894be2eaaa63af43c68887697d46c51 (patch)
tree01a54a7c35e62e5fb6d66a992e5616fe48ee5078 /Python
parent950361c6cad55cb452233cbfd3d224952b6e18f2 (diff)
downloadcpython-d0eb429b8894be2eaaa63af43c68887697d46c51.zip
cpython-d0eb429b8894be2eaaa63af43c68887697d46c51.tar.gz
cpython-d0eb429b8894be2eaaa63af43c68887697d46c51.tar.bz2
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.
Diffstat (limited to 'Python')
-rw-r--r--Python/ceval.c7
1 files changed, 3 insertions, 4 deletions
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 @@ eval_code2(co, globals, locals,
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);