* [PATCH] gitweb: Remove "uninitialized value" Perl warning
@ 2016-01-12 3:31 Øyvind A. Holm
[not found] ` <xmqq4meitsce.fsf@gitster.mtv.corp.google.com>
0 siblings, 1 reply; 2+ messages in thread
From: Øyvind A. Holm @ 2016-01-12 3:31 UTC (permalink / raw)
To: git; +Cc: jnareb, gitster, Øyvind A. Holm
git_object(): Check if $type is defined before chomping it. This removes
a Perl warning in the server error log:
gitweb.cgi: Use of uninitialized value $type in scalar chomp at
[...]/gitweb.cgi line 7579., referer: [...]
when trying to access a non-existing commit, for example:
http://HOST/?p=PROJECT.git;a=commit;h=NON_EXISTING_COMMIT
Signed-off-by: Øyvind A. Holm <sunny@sunbase.org>
---
gitweb/gitweb.perl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 7a5b23a..05d7910 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -7576,7 +7576,7 @@ sub git_object {
git_cmd(), 'cat-file', '-t', $object_id) . ' 2> /dev/null'
or die_error(404, "Object does not exist");
$type = <$fd>;
- chomp $type;
+ defined $type && chomp $type;
close $fd
or die_error(404, "Object does not exist");
--
2.7.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] gitweb: Remove "uninitialized value" Perl warning
[not found] ` <xmqq4meitsce.fsf@gitster.mtv.corp.google.com>
@ 2016-01-12 21:20 ` Junio C Hamano
0 siblings, 0 replies; 2+ messages in thread
From: Junio C Hamano @ 2016-01-12 21:20 UTC (permalink / raw)
To: Øyvind A. Holm; +Cc: Git Mailing List, Jakub Narębski
On Tue, Jan 12, 2016 at 1:12 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Øyvind A. Holm <sunny@sunbase.org> writes:
>
>> git_object(): Check if $type is defined before chomping it. This removes
>> a Perl warning in the server error log:
>>
>> gitweb.cgi: Use of uninitialized value $type in scalar chomp at
>> [...]/gitweb.cgi line 7579., referer: [...]
>>
>> when trying to access a non-existing commit, for example:
>>
>> http://HOST/?p=PROJECT.git;a=commit;h=NON_EXISTING_COMMIT
>
> Thanks. The analysis and description of the issue and the fix both
> make sense to me.
With this, you would then do
print $cgi->redirect(-uri => href(action=>$type, ...);
but then href treats $param{action} that is an undef as if it does not
even exist,
so the effect will not be felt during the invocation of this request.
I am not sure what happens to a request that lacks action (mapped to 'a'
parameter) that results from this redirect, though. Would that eventually
hit dispatch where if (!defined $action) would cause it to say "Object does
not exist"?
In any case, this looks like a strict improvement. Thanks again.
>> Signed-off-by: Øyvind A. Holm <sunny@sunbase.org>
>> ---
>> gitweb/gitweb.perl | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
>> index 7a5b23a..05d7910 100755
>> --- a/gitweb/gitweb.perl
>> +++ b/gitweb/gitweb.perl
>> @@ -7576,7 +7576,7 @@ sub git_object {
>> git_cmd(), 'cat-file', '-t', $object_id) . ' 2> /dev/null'
>> or die_error(404, "Object does not exist");
>> $type = <$fd>;
>> - chomp $type;
>> + defined $type && chomp $type;
>> close $fd
>> or die_error(404, "Object does not exist");
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-01-12 21:20 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-12 3:31 [PATCH] gitweb: Remove "uninitialized value" Perl warning Øyvind A. Holm
[not found] ` <xmqq4meitsce.fsf@gitster.mtv.corp.google.com>
2016-01-12 21:20 ` Junio C Hamano
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).