gitweb: Check that $site_header etc. are defined before using them
authorJohn 'Warthog9' Hawley <warthog9@kernel.org>
Sat, 30 Jan 2010 22:30:41 +0000 (23:30 +0100)
committerJunio C Hamano <gitster@pobox.com>
Sat, 30 Jan 2010 23:53:53 +0000 (15:53 -0800)
If one of $site_header, $site_footer or $home_text is not defined, you
get extraneous errors in the web logs, for example (line wrapped for
better readibility):

[Wed Jan 13 16:55:42 2010] [error] [client ::1] [Wed Jan 13 16:55:42 2010]
gitweb.cgi: Use of uninitialized value $site_header in -f at
/var/www/gitweb/gitweb.cgi line 3287., referer: http://git/gitweb.cgi

This ensures that those variables are defined before trying to use it.

Note that such error can happen only because of an error in gitweb
config file; building gitweb.cgi can make mentioned variables holding
empty string (it is even the default), but they are still defined.

Signed-off-by: John 'Warthog9' Hawley <warthog9@kernel.org>
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
gitweb/gitweb.perl
index e2522cc64f50fbf2a740dd7656373a99f9769119..a4148d36ae2e1400d979077834366fa617812468 100755 (executable)
@@ -3254,7 +3254,7 @@ sub git_header_html {
        print "</head>\n" .
              "<body>\n";
 
-       if (-f $site_header) {
+       if (defined $site_header && -f $site_header) {
                insert_file($site_header);
        }
 
@@ -3355,7 +3355,7 @@ sub git_footer_html {
                print "</div>\n"; # class="page_footer"
        }
 
-       if (-f $site_footer) {
+       if (defined $site_footer && -f $site_footer) {
                insert_file($site_footer);
        }
 
@@ -4781,7 +4781,7 @@ sub git_project_list {
        }
 
        git_header_html();
-       if (-f $home_text) {
+       if (defined $home_text && -f $home_text) {
                print "<div class=\"index_include\">\n";
                insert_file($home_text);
                print "</div>\n";