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 --- decorate.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'decorate.c') diff --git a/decorate.c b/decorate.c index 82d9e221ea..e6fd8a7441 100644 --- a/decorate.c +++ b/decorate.c @@ -8,7 +8,9 @@ static unsigned int hash_obj(const 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