diff -r 0297f9c4caee -r a472a897c340 mercurial/cext/revlog.c --- a/mercurial/cext/revlog.c Sat Mar 03 06:44:47 2018 -0500 +++ b/mercurial/cext/revlog.c Sat Mar 03 06:57:02 2018 -0500 @@ -643,8 +643,10 @@ if (!PyArg_ParseTuple(args, "O", &roots)) goto done; - if (roots == NULL || !PyList_Check(roots)) + if (roots == NULL || !PyList_Check(roots)) { + PyErr_SetString(PyExc_TypeError, "roots must be a list"); goto done; + } phases = calloc(len, 1); /* phase per rev: {0: public, 1: draft, 2: secret} */ if (phases == NULL) { @@ -667,8 +669,11 @@ if (phaseset == NULL) goto release; PyList_SET_ITEM(phasessetlist, i+1, phaseset); - if (!PyList_Check(phaseroots)) + if (!PyList_Check(phaseroots)) { + PyErr_SetString(PyExc_TypeError, + "roots item must be a list"); goto release; + } minrevphase = add_roots_get_min(self, phaseroots, i+1, phases); if (minrevphase == -2) /* Error from add_roots_get_min */ goto release;