From: Heiko Voigt Date: Sat, 28 Jul 2012 15:46:36 +0000 (+0200) Subject: link_alt_odb_entry: fix read over array bounds reported by valgrind X-Git-Tag: v1.7.11.5~2^2 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/cb2912c324477f0d92618ac258c43b2692e870c4?hp=--cc link_alt_odb_entry: fix read over array bounds reported by valgrind pfxlen can be longer than the path in objdir when relative_base contains the path to gits object directory. Here we are interested in checking if ent->base[] (the part that corresponds to .git/objects) is the same string as objdir, and the code NUL-terminated ent->base[] to LEADING PATH\0XX/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\0 in preparation for these "duplicate check" step (before we return from the function, the first NUL is turned into '/' so that we can fill XX when probing for loose objects). All we need to do is to compare the string with the path to our object directory. Signed-off-by: Heiko Voigt Signed-off-by: Junio C Hamano --- cb2912c324477f0d92618ac258c43b2692e870c4 diff --git a/sha1_file.c b/sha1_file.c index 4f06a0e450..a1f3bee5ed 100644 --- a/sha1_file.c +++ b/sha1_file.c @@ -298,7 +298,7 @@ static int link_alt_odb_entry(const char * entry, int len, const char * relative return -1; } } - if (!memcmp(ent->base, objdir, pfxlen)) { + if (!strcmp(ent->base, objdir)) { free(ent); return -1; }