diff --git a/src/oid.c b/src/oid.c index 6f2e290..9a78e95 100644 --- a/src/oid.c +++ b/src/oid.c @@ -209,8 +209,10 @@ Oid_init(Oid *self, PyObject *args, PyObject *kw) Py_hash_t Oid_hash(PyObject *oid) { - /* TODO Randomize (use _Py_HashSecret) to avoid collission DoS attacks? */ - return *(Py_hash_t*) ((Oid*)oid)->oid.id; + PyObject *py_oid = git_oid_to_py_str(&((Oid *)oid)->oid); + Py_hash_t ret = PyObject_Hash(py_oid); + Py_DECREF(py_oid); + return ret; }