Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2012-06-01 23:59:58 +0400
committerJunio C Hamano <gitster@pobox.com>2012-06-01 23:59:58 +0400
commit92ddfaadc226d4b04681523a3a5649b65b06ca5f (patch)
tree4319d0b2fc9c057768adaf72281b6bce21d1bc8d
parent63cdf160f335758e80e898cda6d6cdaca72dc745 (diff)
parentc9b4e9e5b6587ea433cd93c3c99f8720ff2fdad2 (diff)
Merge branch 'jk/format-person-part-buffer-limit' into maint
By Jeff King * jk/format-person-part-buffer-limit: pretty: avoid buffer overflow in format_person_part
-rw-r--r--pretty.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/pretty.c b/pretty.c
index 02a0a2bb43..986e114e0c 100644
--- a/pretty.c
+++ b/pretty.c
@@ -547,8 +547,10 @@ static size_t format_person_part(struct strbuf *sb, char part,
mail_end = s.mail_end;
if (part == 'N' || part == 'E') { /* mailmap lookup */
- strlcpy(person_name, name_start, name_end - name_start + 1);
- strlcpy(person_mail, mail_start, mail_end - mail_start + 1);
+ snprintf(person_name, sizeof(person_name), "%.*s",
+ (int)(name_end - name_start), name_start);
+ snprintf(person_mail, sizeof(person_mail), "%.*s",
+ (int)(mail_end - mail_start), mail_start);
mailmap_name(person_mail, sizeof(person_mail), person_name, sizeof(person_name));
name_start = person_name;
name_end = name_start + strlen(person_name);