]> Lady’s Gitweb - Gitweb/commitdiff
gitweb: Check that $site_header etc. are defined before using them
authorJohn 'Warthog9' Hawley <redacted>
Sat, 30 Jan 2010 22:30:41 +0000 (23:30 +0100)
committerLady <redacted>
Mon, 6 Apr 2026 04:50:39 +0000 (00:50 -0400)
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 <redacted>
Signed-off-by: Jakub Narebski <redacted>
Signed-off-by: Junio C Hamano <redacted>
gitweb.perl

index 3f88ed5fb724af2e41972aeb4d7e827dc1f042680e2188b9e4844e5a278716f7..fbafc186a90fc836bfb0387b5472c8e749c675e7133c7dcf6e6b4fe3c7c58de5 100755 (executable)
@@ -3255,7 +3255,7 @@ EOF
        print "</head>\n" .
              "<body>\n";
 
        print "</head>\n" .
              "<body>\n";
 
-       if (-f $site_header) {
+       if (defined $site_header && -f $site_header) {
                insert_file($site_header);
        }
 
                insert_file($site_header);
        }
 
@@ -3356,7 +3356,7 @@ sub git_footer_html {
                print "</div>\n"; # class="page_footer"
        }
 
                print "</div>\n"; # class="page_footer"
        }
 
-       if (-f $site_footer) {
+       if (defined $site_footer && -f $site_footer) {
                insert_file($site_footer);
        }
 
                insert_file($site_footer);
        }
 
@@ -4782,7 +4782,7 @@ sub git_project_list {
        }
 
        git_header_html();
        }
 
        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";
                print "<div class=\"index_include\">\n";
                insert_file($home_text);
                print "</div>\n";
This page took 0.326361 seconds and 4 git commands to generate.