# HG changeset patch
# User Gregory Szorc <gregory.sz...@gmail.com>
# Date 1489452553 25200
#      Mon Mar 13 17:49:13 2017 -0700
# Node ID d600bd4edd62b3ee74730f1282e53b9d596bbaec
# Parent  6d3b13f243bea2c9200eecb827d7ec0ea771fc54
parsers: handle refcounting of "parents" consistently

Py_None can be refcounted like any other Python object. So
do that.

diff --git a/mercurial/parsers.c b/mercurial/parsers.c
--- a/mercurial/parsers.c
+++ b/mercurial/parsers.c
@@ -2739,6 +2739,7 @@ static PyObject *fm1readmarker(const cha
                data += nparents * hashwidth;
        } else {
                parents = Py_None;
+               Py_INCREF(parents);
        }
 
        if (data + 2 * nmetadata > dataend) {
@@ -2781,8 +2782,7 @@ bail:
        Py_XDECREF(prec);
        Py_XDECREF(succs);
        Py_XDECREF(metadata);
-       if (parents != Py_None)
-               Py_XDECREF(parents);
+       Py_XDECREF(parents);
        return ret;
 }
 
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to