Subject: [PATCH] commit:fix use of uninitialized value [...] in server log

From: "Raphaël Gertz via GitGitGadget" <[email-masked]>
Date: Sat, 25 Apr 2020 20:42:18 +0000

From: =?UTF-8?q?Rapha=C3=ABl=20Gertz?= <[email-masked]>

This change fix the message about uninitialized value when trying to
access undefined hash indexes.

The error message fixed:
Use of uninitialized value $params{"action"} in string eq at gitweb.cgi
line 1377

Add myself as warning fix author.

Signed-off-by: Raphaël Gertz <[email-masked]>
---
    gitweb: fix tests on uninitialized hash indexes to avoid uninitialized
    value warnings in server log
    
    It's happened that I tried to solve lots of meaningless warnings in web
    server error log.
    
    I think it makes no sense to spam error log with warnings about
    uninitialized value when trying to run careless tests on undefined hash
    indexes.
    
    This is a simple fix that I did long ago that check carefully the index
    before running tests on it.
    
    I added myself as warning fix author as well.
    
    My goal is to avoid re-applying the patch on each distribution update.
    
    The warning message fixed in web server error log : Use of uninitialized
    value $params{"action"} in string eq at gitweb.cgi line 1377
    
    Raphaël Gertz: gitweb/README: add myself as warning fix author
    gitweb/gitweb.perl: fix careless test on undefined hash indexes
    
     gitweb/README | 3 +++ gitweb/gitweb.perl | 4 ++-- 2 files changed, 5
    insertions(+), 2 deletions(-)
    
    Signed-off-by: Raphaël Gertz [email-masked] [[email-masked]]

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-767%2Frapsys%2Fmaster-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-767/rapsys/master-v1
Pull-Request: https://github.com/git/git/pull/767

 gitweb/README      | 3 +++
 gitweb/gitweb.perl | 4 ++--
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/gitweb/README b/gitweb/README
index 471dcfb691b..8964478a3fc 100644
--- a/gitweb/README
+++ b/gitweb/README
@@ -66,5 +66,8 @@ AUTHORS
 Originally written by:
   Kay Sievers <[email-masked]>
 
+Perl warning fix:
+  Raphaël Gertz <[email-masked]>
+
 Any comment/question/concern to:
   Git mailing list <[email-masked]>
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 1a02a1242d5..37dfce202a0 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -1420,7 +1420,7 @@ sub href {
 
 		# since we destructively absorb parameters, we keep this
 		# boolean that remembers if we're handling a snapshot
-		my $is_snapshot = $params{'action'} eq 'snapshot';
+		my $is_snapshot = defined $params{'action'} && $params{'action'} eq 'snapshot';
 
 		# Summary just uses the project path URL, any other action is
 		# added to the URL
@@ -6012,7 +6012,7 @@ sub git_history_body {
 		      $cgi->a({-href => href(action=>$ftype, hash_base=>$commit, file_name=>$file_name)}, $ftype) . " | " .
 		      $cgi->a({-href => href(action=>"commitdiff", hash=>$commit)}, "commitdiff");
 
-		if ($ftype eq 'blob') {
+		if (defined $ftype && $ftype eq 'blob') {
 			print " | " .
 			      $cgi->a({-href => href(action=>"blob_plain", hash_base=>$commit, file_name=>$file_name)}, "raw");

base-commit: e870325ee8575d5c3d7afe0ba2c9be072c692b65
-- 
gitgitgadget