[PATCH] Don't use $author_name undefined when $from contains no /\s</.
From: Jim Meyering <hidden>
Date: 2016-06-15 22:42:44
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Jim Meyering <hidden>
Date: 2016-06-15 22:42:44
Subsystem:
the rest · Maintainer:
Linus Torvalds
I noticed a case not handled in a recent patch. Demonstrate it like this: $ touch new-file $ git-send-email --dry-run --from j --to k new-file 2>err new-file OK. Log says: Date: Thu, 19 Oct 2006 10:26:24 +0200 Sendmail: /usr/sbin/sendmail From: j Subject: Cc: To: k Result: OK $ cat err Use of uninitialized value in pattern match (m//) at /p/bin/git-send-email line 416. Use of uninitialized value in concatenation (.) or string at /p/bin/git-send-email line 420. Use of uninitialized value in concatenation (.) or string at /p/bin/git-send-email line 468. There's a patch for the $author_name part below. The example above shows that $subject may also be used uninitialized. That should be easy to fix, too. Signed-off-by: Jim Meyering <redacted> --- git-send-email.perl | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/git-send-email.perl b/git-send-email.perl
index b17d261..1c6d2cc 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl@@ -412,7 +412,7 @@ sub send_message } my ($author_name) = ($from =~ /^(.*?)\s+</); - if ($author_name =~ /\./ && $author_name !~ /^".*"$/) { + if ($author_name && $author_name =~ /\./ && $author_name !~ /^".*"$/) { my ($name, $addr) = ($from =~ /^(.*?)(\s+<.*)/); $from = "\"$name\"$addr"; } --
1.4.3.g72bb