summaryrefslogtreecommitdiff
path: root/git-send-email.perl
diff options
context:
space:
mode:
authorMichael S. Tsirkin <mst@redhat.com>2013-06-18 15:49:26 +0300
committerJunio C Hamano <gitster@pobox.com>2013-06-20 11:27:03 -0700
commit4cb46bddeb7d21241f8ac5e46eb3d1cee468ea14 (patch)
treed249f5e7571c31d61c9659851a0874ca671cc68c /git-send-email.perl
parentf07075c297d8a9b58b693176b6ae73dbabcdb103 (diff)
downloadgit-4cb46bddeb7d21241f8ac5e46eb3d1cee468ea14.tar.gz
send-email: sanitize author when writing From line
sender is now sanitized, but we didn't sanitize author when checking whether From: line is needed in the message body. As a result git started writing duplicate From: lines when author matched sender and has utf8 characters. Reported-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Tested-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-send-email.perl')
-rwxr-xr-xgit-send-email.perl5
1 files changed, 3 insertions, 2 deletions
diff --git a/git-send-email.perl b/git-send-email.perl
index 7d886958ae..548c75d69a 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -1258,6 +1258,7 @@ foreach my $t (@files) {
open my $fh, "<", $t or die "can't open file $t";
my $author = undef;
+ my $sauthor = undef;
my $author_encoding;
my $has_content_type;
my $body_encoding;
@@ -1296,7 +1297,7 @@ foreach my $t (@files) {
}
elsif (/^From:\s+(.*)$/i) {
($author, $author_encoding) = unquote_rfc2047($1);
- my $sauthor = sanitize_address($author);
+ $sauthor = sanitize_address($author);
next if $suppress_cc{'author'};
next if $suppress_cc{'self'} and $sauthor eq $sender;
printf("(mbox) Adding cc: %s from line '%s'\n",
@@ -1392,7 +1393,7 @@ foreach my $t (@files) {
$subject = quote_subject($subject, $auto_8bit_encoding);
}
- if (defined $author and $author ne $sender) {
+ if (defined $sauthor and $sauthor ne $sender) {
$message = "From: $author\n\n$message";
if (defined $author_encoding) {
if ($has_content_type) {