From: Pavel Roskin Date: Wed, 21 Dec 2005 23:47:09 +0000 (-0500) Subject: sanity check in add_packed_git() X-Git-Tag: v1.0.3^2~5 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=f4a11066cfb70c49fddbca7f95aa0fedcee53cca;p=git.git sanity check in add_packed_git() add_packed_git() tries to get the pack SHA1 by parsing its name. It may access uninitialized memory for packs with short names. Signed-off-by: Pavel Roskin Signed-off-by: Junio C Hamano --- diff --git a/sha1_file.c b/sha1_file.c index fa22e9c7..d83d8240 100644 --- a/sha1_file.c +++ b/sha1_file.c @@ -464,7 +464,7 @@ struct packed_git *add_packed_git(char *path, int path_len, int local) p->pack_last_used = 0; p->pack_use_cnt = 0; p->pack_local = local; - if (!get_sha1_hex(path + path_len - 40 - 4, sha1)) + if ((path_len > 44) && !get_sha1_hex(path + path_len - 44, sha1)) memcpy(p->sha1, sha1, 20); return p; }