[PATCH] hex: use unsigned index for ring buffer
- From
René Scharfe <l.s.r@web.de>
- Date
- Oct 23, 2016, 09:00 UTC
- Message-ID
- <ebf769d4-771f-499e-c7fc-f0377d8df18e@web.de>
Overflow is defined for unsigned integers, but not for signed ones. Make the ring buffer index in sha1_to_hex() unsigned to be on the safe side.
Signed-off-by: Rene Scharfe <l.s.r@web.de> --- Hard to trigger, but probably even harder to diagnose once someone somehow manages to do it on some uncommon architecture.
hex.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hex.c b/hex.c index ab2610e..8c6c189 100644 --- a/hex.c +++ b/hex.c @@ -76,7 +76,7 @@ char *oid_to_hex_r(char *buffer, const struct object_id *oid) char *sha1_to_hex(const unsigned char *sha1) { - static int bufno; + static unsigned int bufno; static char hexbuffer[4][GIT_SHA1_HEXSZ + 1]; return sha1_to_hex_r(hexbuffer[3 & ++bufno], sha1); }
-- 2.10.1