From: Thomas Rast Date: Thu, 10 Jun 2010 18:43:51 +0000 (+0200) Subject: check_aliased_update: strcpy() instead of strcat() to copy X-Git-Tag: v1.7.2-rc0~29^2 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/0e71bc300432b9e63bdbc8e28b0c5c0fafb601fc check_aliased_update: strcpy() instead of strcat() to copy da3efdb (receive-pack: detect aliased updates which can occur with symrefs, 2010-04-19) introduced two strcat() into uninitialized strings. The intent was clearly make a copy of the static buffer used by find_unique_abbrev(), so use strcpy() instead. Signed-off-by: Thomas Rast Reported-by: Ævar Arnfjörð Bjarmason Tested-by: Ævar Arnfjörð Bjarmason Signed-off-by: Junio C Hamano --- diff --git a/builtin-receive-pack.c b/builtin-receive-pack.c index bb34757d27..7e4129ddc8 100644 --- a/builtin-receive-pack.c +++ b/builtin-receive-pack.c @@ -515,9 +515,9 @@ static void check_aliased_update(struct command *cmd, struct string_list *list) dst_cmd->skip_update = 1; strcpy(cmd_oldh, find_unique_abbrev(cmd->old_sha1, DEFAULT_ABBREV)); - strcat(cmd_newh, find_unique_abbrev(cmd->new_sha1, DEFAULT_ABBREV)); + strcpy(cmd_newh, find_unique_abbrev(cmd->new_sha1, DEFAULT_ABBREV)); strcpy(dst_oldh, find_unique_abbrev(dst_cmd->old_sha1, DEFAULT_ABBREV)); - strcat(dst_newh, find_unique_abbrev(dst_cmd->new_sha1, DEFAULT_ABBREV)); + strcpy(dst_newh, find_unique_abbrev(dst_cmd->new_sha1, DEFAULT_ABBREV)); rp_error("refusing inconsistent update between symref '%s' (%s..%s) and" " its target '%s' (%s..%s)", cmd->ref_name, cmd_oldh, cmd_newh,