git_exec_path: avoid Coverity warning about unfree()d result
[gitweb.git] / hex.c
diff --git a/hex.c b/hex.c
index ab2610e498615b197787a8c22cd00f979e488fc8..845b01a874b45314a22e6000bb4e7762c3dd846a 100644 (file)
--- a/hex.c
+++ b/hex.c
@@ -78,7 +78,8 @@ char *sha1_to_hex(const unsigned char *sha1)
 {
        static int bufno;
        static char hexbuffer[4][GIT_SHA1_HEXSZ + 1];
-       return sha1_to_hex_r(hexbuffer[3 & ++bufno], sha1);
+       bufno = (bufno + 1) % ARRAY_SIZE(hexbuffer);
+       return sha1_to_hex_r(hexbuffer[bufno], sha1);
 }
 
 char *oid_to_hex(const struct object_id *oid)