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
This commit is contained in:
Junio C Hamano 2012-06-01 12:59:58 -07:00
commit 92ddfaadc2

View File

@ -547,8 +547,10 @@ static size_t format_person_part(struct strbuf *sb, char part,
mail_end = s.mail_end; mail_end = s.mail_end;
if (part == 'N' || part == 'E') { /* mailmap lookup */ if (part == 'N' || part == 'E') { /* mailmap lookup */
strlcpy(person_name, name_start, name_end - name_start + 1); snprintf(person_name, sizeof(person_name), "%.*s",
strlcpy(person_mail, mail_start, mail_end - mail_start + 1); (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)); mailmap_name(person_mail, sizeof(person_mail), person_name, sizeof(person_name));
name_start = person_name; name_start = person_name;
name_end = name_start + strlen(person_name); name_end = name_start + strlen(person_name);