# HG changeset patch # User Augie Fackler # Date 1422045207 18000 # Node ID ec28f8b66e622d9cbea7c7c2b1cb01842661af31 # Parent 5fb44983a6963c9c3ad595346f80d03c76393d15 parsers: avoid leaking obj in index_ancestors PySequence_GetItem returns a new reference. Found with cpychecker. diff -r 5fb44983a696 -r ec28f8b66e62 mercurial/parsers.c --- a/mercurial/parsers.c Fri Jan 23 15:30:21 2015 -0500 +++ b/mercurial/parsers.c Fri Jan 23 15:33:27 2015 -0500 @@ -1691,9 +1691,11 @@ if (!PyInt_Check(obj)) { PyErr_SetString(PyExc_TypeError, "arguments must all be ints"); + Py_DECREF(obj); goto bail; } val = PyInt_AsLong(obj); + Py_DECREF(obj); if (val == -1) { ret = PyList_New(0); goto done;