From b867d324ceb7e5c4f14a04c6b55d69498812d24b Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Mon, 11 May 2009 20:17:38 -0500 Subject: Fix type-punning issues In these two places we are casting part of our unsigned char sha1 array into an unsigned int, which violates GCCs strict-aliasing rules (and probably other compilers). Signed-off-by: Dan McGee Signed-off-by: Junio C Hamano --- object.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'object.c') diff --git a/object.c b/object.c index 7e6a92c88e..e1feef9c33 100644 --- a/object.c +++ b/object.c @@ -45,7 +45,8 @@ int type_from_string(const char *str) static unsigned int hash_obj(struct object *obj, unsigned int n) { - unsigned int hash = *(unsigned int *)obj->sha1; + unsigned int hash; + memcpy(&hash, obj->sha1, sizeof(unsigned int)); return hash % n; } -- cgit v1.2.3