[PATCH] sanity check in add_packed_git()
- From
- Pavel Roskin <proski@gnu.org>
- Date
- Dec 21, 2005, 23:47 UTC
- Message-ID
- <1135208829.15567.18.camel@dv>
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 <proski@gnu.org>
diff --git a/sha1_file.c b/sha1_file.c index fa22e9c..d83d824 100644 --- a/sha1_file.c +++ b/sha1_file.c @@ -464,7 +464,7 @@ struct packed_git *add_packed_git(char * 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; }
-- Regards, Pavel Roskin