gitweb:fix tests on uninitialized hash indexes to avoid uninitialized value warnings in server log
- From
- Raphaël Gertz <git@rapsys.eu>
- Date
- Apr 24, 2020, 21:59 UTC
- Message-ID
- <faf4b0a3988513f0ca3745bd0564fb94@rapsys.eu>
Hi,
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
Pull request was done here against "maint" branch : https://github.com/gitgitgadget/git/pull/617
Pull request was done here against "master" branch if required : https://github.com/git/git/pull/767
The change patch is attached if required.
May you plz merge my change ?
Best regards
Raphaël Gertz <git@rapsys.eu>: 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 <git@rapsys.eu>
diff -urNp gitweb/gitweb.perl.orig gitweb/gitweb.perl --- gitweb/gitweb.perl.orig 2019-11-14 07:39:24.244704744 +0100 +++ gitweb/gitweb.perl 2019-11-14 07:33:50.641602829 +0100
@@ -1374,7 +1374,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 @@ -5959,7 +5959,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"); diff -urNp gitweb/README.orig gitweb/README --- gitweb/README.orig 2019-11-14 07:39:24.244704744 +0100 +++ gitweb/README 2019-11-14 07:33:50.641602829 +0100 @@ -66,5 +66,8 @@ AUTHORS Originally written by: Kay Sievers <kay.sievers@vrfy.org> +Perl warning fix: + Rapha��l Gertz <git@rapsys.eu> + Any comment/question/concern to: Git mailing list <git@vger.kernel.org>