From c7785e591b473ba082b919db9e8d94a981bff040 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=2E=20David=20Ib=C3=A1=C3=B1ez?= Date: Sat, 13 Apr 2013 12:00:18 +0200 Subject: [PATCH] py_str_to_git_oid: check length of raw oid (#205) --- src/oid.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/oid.c b/src/oid.c index c073403..413d29c 100644 --- a/src/oid.c +++ b/src/oid.c @@ -45,6 +45,10 @@ py_str_to_git_oid(PyObject *py_str, git_oid *oid) err = PyBytes_AsStringAndSize(py_str, &hex_or_bin, &len); if (err) return -1; + if (len > GIT_OID_RAWSZ) { + PyErr_SetObject(PyExc_ValueError, py_str); + return -1; + } memcpy(oid->id, (const unsigned char*)hex_or_bin, len); return len * 2; }