From: Junio C Hamano Date: Fri, 1 Jun 2012 19:59:58 +0000 (-0700) Subject: Merge branch 'jk/format-person-part-buffer-limit' into maint X-Git-Tag: v1.7.10.4~7 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/92ddfaadc226d4b04681523a3a5649b65b06ca5f?ds=inline;hp=-c 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 --- 92ddfaadc226d4b04681523a3a5649b65b06ca5f diff --combined pretty.c index 02a0a2bb43,2c1417fe56..986e114e0c --- a/pretty.c +++ b/pretty.c @@@ -547,8 -547,10 +547,10 @@@ static size_t format_person_part(struc 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); @@@ -1010,7 -1012,6 +1012,7 @@@ static size_t format_commit_one(struct get_reflog_selector(sb, c->pretty_ctx->reflog_info, c->pretty_ctx->date_mode, + c->pretty_ctx->date_mode_explicit, (placeholder[1] == 'd')); return 2; case 's': /* reflog message */