Re: [PATCH v2 3/3] gitweb/gitweb.perl: don't call S_ISREG() with undef
On Sat, 19 Feb 2011, Ævar Arnfjörð Bjarmason wrote:
Show 10 quoted lines
> Change S_ISREG($to_mode_oct) to S_ISREG($from_mode_oct) in the branch
> that handles from modes, not to modes. This logic appears to have been
> caused by copy/paste programming by Jakub Narebski in e8e41a93. It
> would be better to rewrite this code not to be duplicated, but I
> haven't done so.
>
> This issue caused a failing test on perl 5.13.9, which has a warning
> that turned this up:
>
> gitweb.perl: Use of uninitialized value in subroutine entry at /home/avar/g/git/t/../gitweb/gitweb.perl line 4415.
> Reported-by: perl 5.13.9
> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Thanks for catching this. I wonder why we didn't caught this earlier...
For what it is worth it:
Acked-by: Jakub Narebski <jnareb@gmail.com>
Show 21 quoted lines
> ---
> gitweb/gitweb.perl | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> index b02372c..1b9369d 100755
> --- a/gitweb/gitweb.perl
> +++ b/gitweb/gitweb.perl
> @@ -4412,7 +4412,7 @@ sub git_difftree_body {
> }
> if ($diff->{'from_mode'} ne ('0' x 6)) {
> $from_mode_oct = oct $diff->{'from_mode'};
> - if (S_ISREG($to_mode_oct)) { # only for regular file
> + if (S_ISREG($from_mode_oct)) { # only for regular file
> $from_mode_str = sprintf("%04o", $from_mode_oct & 0777); # permission bits
> }
> $from_file_type = file_type($diff->{'from_mode'});
> --
> 1.7.2.3
>
> --
Jakub Narebski
Poland