]> Lady’s Gitweb - Gitweb/blobdiff - gitweb.perl
gitweb: do not choke on recursive symlink
[Gitweb] / gitweb.perl
index 4a8d5e66c9da09efc342d18a20b8fdadd907ce61b45fdb243def0ff15ec5f3b5..84293a5d12175cb834304954bc1d17f5ee4e73164c06f530b40c265652c92ea4 100755 (executable)
@@ -630,7 +630,13 @@ sub href(%) {
        for (my $i = 0; $i < @mapping; $i += 2) {
                my ($name, $symbol) = ($mapping[$i], $mapping[$i+1]);
                if (defined $params{$name}) {
-                       push @result, $symbol . "=" . esc_param($params{$name});
+                       if (ref($params{$name}) eq "ARRAY") {
+                               foreach my $par (@{$params{$name}}) {
+                                       push @result, $symbol . "=" . esc_param($par);
+                               }
+                       } else {
+                               push @result, $symbol . "=" . esc_param($params{$name});
+                       }
                }
        }
        $href .= "?" . join(';', @result) if scalar @result;
@@ -1510,6 +1516,7 @@ sub git_get_projects_list {
 
                File::Find::find({
                        follow_fast => 1, # follow symbolic links
+                       follow_skip => 2, # ignore duplicates
                        dangling_symlinks => 0, # ignore dangling symlinks, silently
                        wanted => sub {
                                # skip project-list toplevel, if we get it.
This page took 0.215286 seconds and 4 git commands to generate.