Skip to content

Commit 9972c8e

Browse files
committed
Merge branch 'jk/format-person-part-buffer-limit'
Avoid buffer overflow in format_person_part() function
2 parents 407abba + c9b4e9e commit 9972c8e

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

pretty.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -550,8 +550,10 @@ static size_t format_person_part(struct strbuf *sb, char part,
550550
mail_end = s.mail_end;
551551

552552
if (part == 'N' || part == 'E') { /* mailmap lookup */
553-
strlcpy(person_name, name_start, name_end - name_start + 1);
554-
strlcpy(person_mail, mail_start, mail_end - mail_start + 1);
553+
snprintf(person_name, sizeof(person_name), "%.*s",
554+
(int)(name_end - name_start), name_start);
555+
snprintf(person_mail, sizeof(person_mail), "%.*s",
556+
(int)(mail_end - mail_start), mail_start);
555557
mailmap_name(person_mail, sizeof(person_mail), person_name, sizeof(person_name));
556558
name_start = person_name;
557559
name_end = name_start + strlen(person_name);

0 commit comments

Comments
 (0)