aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatryk Obara <patryk.obara@gmail.com>2018-01-28 01:13:14 +0100
committerJunio C Hamano <gitster@pobox.com>2018-01-30 10:42:36 -0800
commit97a41a0c01cdcbe8153f6b269ff21ee74ecf0092 (patch)
treec0a843ba9ab825f7b3f583e001e926e4e7d0182c
parentsha1_file: convert hash_sha1_file to object_id (diff)
downloadgit-97a41a0c01cdcbe8153f6b269ff21ee74ecf0092.tar.gz
git-97a41a0c01cdcbe8153f6b269ff21ee74ecf0092.zip
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>
-rw-r--r--cache.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/cache.h b/cache.h
index 08f2b81e1b..d5d78d6a51 100644
--- a/cache.h
+++ b/cache.h
@@ -1029,7 +1029,7 @@ static inline void hashclr(unsigned char *hash)
static inline void oidclr(struct object_id *oid)
{
- hashclr(oid->hash);
+ memset(oid->hash, 0, GIT_MAX_RAWSZ);
}