# HG changeset patch # User Augie Fackler # Date 1439929961 14400 # Node ID 822f46b80fa956b71ed3fd366451ad28e2abead8 # Parent b1634b7804c73f50b4858e8c8cc7b241767d57d2 pathencode: check result of .digest() method in sha1hash Without this it was theoretically possible .digest() would fail and return NULL but we wouldn't notice. Detected with cpychecker. diff -r b1634b7804c7 -r 822f46b80fa9 mercurial/pathencode.c --- a/mercurial/pathencode.c Tue Aug 18 16:43:26 2015 -0400 +++ b/mercurial/pathencode.c Tue Aug 18 16:32:41 2015 -0400 @@ -684,6 +684,8 @@ hashobj = PyObject_CallMethod(shaobj, "digest", ""); Py_DECREF(shaobj); + if (hashobj == NULL) + return -1; if (!PyString_Check(hashobj) || PyString_GET_SIZE(hashobj) != 20) { PyErr_SetString(PyExc_TypeError,