[PATCH 2/5] git-send-email: fix fallback code in extract_valid_address()
- From
- Krzysztof Mazur <krzysiek@podlesie.net>
- Date
- Nov 22, 2012, 18:12 UTC
- Message-ID
- <1353607932-10436-2-git-send-email-krzysiek@podlesie.net>
- In-Reply-To
- <1353607932-10436-1-git-send-email-krzysiek@podlesie.net>
In the fallback check, used when Email::Valid is not available, the extract_valid_address() uses $1 without checking for success of matching regex. The $1 variable may still hold the result of previous match, which is the address when email address was in '<>' or be undefined otherwise.
Now if match fails undefined value is always returned to indicate error. The same value is used by Email::Valid->address() in that case.
Previously 'foo@bar' address was rejected by Email::Valid and fallback, but '<foo@bar>' was rejected by Email::Valid, but accepted by fallback.
Signed-off-by: Krzysztof Mazur <krzysiek@podlesie.net> --- git-send-email.perl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/git-send-email.perl b/git-send-email.perl index 9840d0a..356f99d 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -831,12 +831,12 @@ sub extract_valid_address { $address =~ s/^\s*<(.*)>\s*$/$1/; if ($have_email_valid) { return scalar Email::Valid->address($address); - } else { - # less robust/correct than the monster regexp in Email::Valid, - # but still does a 99% job, and one less dependency - $address =~ /($local_part_regexp\@$domain_regexp)/; - return $1; } + + # less robust/correct than the monster regexp in Email::Valid, + # but still does a 99% job, and one less dependency + return $1 if $address =~ /($local_part_regexp\@$domain_regexp)/; + return undef; } # Usually don't need to change anything below here.
-- 1.8.0.393.gcc9701d