diff options
author | Guido van Rossum <guido@python.org> | 2008-01-23 20:09:39 +0000 |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2008-01-23 20:09:39 +0000 |
commit | e105f980460131d192d955fca0df474bcf1c642c (patch) | |
tree | d728596ff034128a3dc73a2ecf20c102a55e4059 /Python/bltinmodule.c | |
parent | 2529aa984082a11e7abac97d608bd91adc844dc2 (diff) | |
download | cpython-git-e105f980460131d192d955fca0df474bcf1c642c.tar.gz |
Fix two crashers (borrowed_ref_[34].py from the trunk).
Diffstat (limited to 'Python/bltinmodule.c')
-rw-r--r-- | Python/bltinmodule.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c index ceb2fc77f4..f82430cba6 100644 --- a/Python/bltinmodule.c +++ b/Python/bltinmodule.c @@ -1218,11 +1218,14 @@ min_max(PyObject *args, PyObject *kwds, int op) "%s() got an unexpected keyword argument", name); return NULL; } + Py_INCREF(keyfunc); } it = PyObject_GetIter(v); - if (it == NULL) + if (it == NULL) { + Py_XDECREF(keyfunc); return NULL; + } maxitem = NULL; /* the result */ maxval = NULL; /* the value associated with the result */ @@ -1271,6 +1274,7 @@ min_max(PyObject *args, PyObject *kwds, int op) else Py_DECREF(maxval); Py_DECREF(it); + Py_XDECREF(keyfunc); return maxitem; Fail_it_item_and_val: @@ -1281,6 +1285,7 @@ Fail_it: Py_XDECREF(maxval); Py_XDECREF(maxitem); Py_DECREF(it); + Py_XDECREF(keyfunc); return NULL; } |