cache: clear whole hash buffer with oidclr

As long as GIT_SHA1_RAWSZ is equal to GIT_MAX_RAWSZ there's no problem, but when new hashing algorithm will be in place this memset will clear only 20-byte prefix of hash buffer. Alternatively, hashclr implementation could be adjusted, but this function is almost removed from codebase already. Separate implementation of oidclr prevents potential buffer overrun in case someone incorrectly used hashclr on object_id in future. Signed-off-by: Patryk Obara <patryk.obara@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Patryk Obara committed Jan 28, 2018 at 01:13 UTC 97a41a0c01cdcbe8153f6b269ff21ee74ecf0092
1 file changed +1 -1
cache.h
+1 -1
@@ -1029,7 +1029,7 @@ static inline void hashclr(unsigned char *hash)
1029
1030 static inline void oidclr(struct object_id *oid)
1031 {
1032 - hashclr(oid->hash);
1032 + memset(oid->hash, 0, GIT_MAX_RAWSZ);
1033 }
1034
1035