git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 2/5] git-send-email: fix fallback code in extract_valid_address()

From
KMKrzysztof 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
Previous: Krzysztof MazurNext: Krzysztof Mazur
Message 21 of 34 in “Failure to extra stable@vger.kernel.org addresses”
  1. Felipe BalbiNov 19, 2012
  2. Krzysztof MazurNov 19, 2012
  3. Felipe BalbiNov 19, 2012
  4. Junio C HamanoNov 19, 2012
  5. Felipe ContrerasNov 19, 2012
  6. Krzysztof MazurNov 19, 2012
  7. Felipe ContrerasNov 19, 2012
  8. Junio C HamanoNov 19, 2012
  9. Krzysztof MazurNov 20, 2012
  10. Krzysztof MazurNov 20, 2012
  11. Felipe ContrerasNov 20, 2012
  12. Andreas EricssonNov 20, 2012
  13. Krzysztof MazurNov 20, 2012
  14. Andreas SchwabNov 20, 2012
  15. Krzysztof MazurNov 20, 2012
  16. Felipe ContrerasNov 20, 2012
  17. Junio C HamanoNov 20, 2012
  18. Krzysztof MazurNov 20, 2012
  19. Junio C HamanoNov 20, 2012
  20. 1/5 git-send-email: remove garbage after email addressKrzysztof Mazur, Nov 22, 2012
  21. 2/5 git-send-email: fix fallback code in extract_valid_address()Krzysztof Mazur, Nov 22, 2012
  22. 3/5 git-send-email: remove invalid addresses earlierKrzysztof Mazur, Nov 22, 2012
  23. Junio C HamanoNov 26, 2012
  24. 4/5 git-send-email: ask what to do with an invalid email addressKrzysztof Mazur, Nov 22, 2012
  25. 5/5 git-send-email: allow edit invalid email addressKrzysztof Mazur, Nov 22, 2012
  26. Junio C HamanoNov 26, 2012
  27. Krzysztof MazurNov 26, 2012
  28. Junio C HamanoNov 26, 2012
  29. Krzysztof MazurNov 26, 2012
  30. Junio C HamanoNov 26, 2012
  31. Krzysztof MazurNov 27, 2012
  32. Junio C HamanoNov 20, 2012
  33. Krzysztof MazurNov 20, 2012
  34. Felipe BalbiNov 20, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.