[PATCHv2] gitweb: Better regexp for SHA-1 committag match

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Make SHA-1 regexp to be turned into hyperlink (SHA-1 committag)
to match word boundary at beginning and end.  This way we limit
false matches, for example 0x74a5cd01 which is hex decimal (for
example memory address) but not SHA-1.

Also make sure that it is not Message-ID, which fragment just
looks like SHA-1 (e.g. "Message-ID: <46A0F335@xxxxxxxxxxx>"),
by using zero-width negative look-ahead assertion to _not_
match '@' after.

Suggested-by: Johannes Schindelin <Johannes.Schindelin@xxxxxx>
Suggested-by: Rafael Garcia-Suarez <rgarciasuarez@xxxxxxxxx>
Signed-off-by: Jakub Narebski <jnareb@xxxxxxxxx>
---
v2: Added protection against matching Message-IDs fragments.

 gitweb/gitweb.perl |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index f27dbb6..5dcc108 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -1364,7 +1364,7 @@ sub format_log_line_html {
 	my $line = shift;
 
 	$line = esc_html($line, -nbsp=>1);
-	if ($line =~ m/([0-9a-fA-F]{8,40})/) {
+	if ($line =~ m/\b([0-9a-fA-F]{8,40})\b(!?\@)/) {
 		my $hash_text = $1;
 		my $link =
 			$cgi->a({-href => href(action=>"object", hash=>$hash_text),
-- 
1.6.1

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux