Try to avoid "Use of uninitialized value ..." errors, due to bad revision, incorrect filename, wrong object id, bad file etc. (wrong value of 'h', 'hb', 'f', etc. parameters). This avoids polluting web server errors log. Signed-off-by: Jakub Narebski <jnareb@xxxxxxxxx> --- This is a bit of "bandaid" patch, as if possible the callers should be corrected, and should check if there is something to pass along. gitweb/gitweb.perl | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 21864c6..afa0056 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -594,6 +594,9 @@ sub esc_html ($;%) { my $str = shift; my %opts = @_; + # empty or undefined + return $str unless $str; + $str = decode_utf8($str); $str = $cgi->escapeHTML($str); if ($opts{'-nbsp'}) { @@ -1059,6 +1062,7 @@ sub git_get_hash_by_path { or die_error(undef, "Open git-ls-tree failed"); my $line = <$fd>; close $fd or return undef; + $line or return undef; #'100644 blob 0fa3f3a66fb6a137f6ec2c19351ed4d807070ffa panic.c' $line =~ m/^([0-9]+) (.+) ([0-9a-fA-F]{40})\t/; @@ -1377,7 +1381,7 @@ sub parse_commit_text { pop @commit_lines; # Remove '\0' my $header = shift @commit_lines; - if (!($header =~ m/^[0-9a-fA-F]{40}/)) { + if (!defined $header || $header !~ m/^[0-9a-fA-F]{40}/) { return; } ($co{'id'}, my @parents) = split ' ', $header; -- 1.5.1.3 - 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