From 8b146d6547ee5cf8049a7566efd75cd1df8314e7 Mon Sep 17 00:00:00 2001 From: Martin Whitaker Date: Thu, 15 Jan 2026 13:56:07 +0000 Subject: Fix timezone::ntp_servers() when it is called more than once. The old implementation of get_ntp_server_tree() would add entries to %timezone for each leaf node it visited. So if ntp_servers() was called a second time, it would list those spurious entries. Fixed by stopping recursion immediately when a leaf node was found. --- perl-install/timezone.pm | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'perl-install/timezone.pm') diff --git a/perl-install/timezone.pm b/perl-install/timezone.pm index faf769054..a18914755 100644 --- a/perl-install/timezone.pm +++ b/perl-install/timezone.pm @@ -150,14 +150,13 @@ our %ntp_servers; sub get_ntp_server_tree { my ($zone) = @_; map { - $ntp_servers{$zone}{$_} => ( - exists $ntp_servers{$_} ? - $zone ? - translate($_) . "|" . N("All servers") : - N("All servers") : - translate($zone) . "|" . translate($_) - ), - get_ntp_server_tree($_); + my $key = $ntp_servers{$zone}{$_}; + if (exists $ntp_servers{$_}) { + ( $key => $zone ? translate($_) . "|" . N("All servers") : N("All servers"), + get_ntp_server_tree($_) ); + } else { + ( $key => translate($zone) . "|" . translate($_) ); + } } keys %{$ntp_servers{$zone}}; } -- cgit v1.2.1