From 175b616e24f31a12cb6e1206688f47a4c3da47bc Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Thu, 19 Apr 2012 18:31:40 +0000 Subject: (_resolve_requested_and_check) fix a crash when package state is empty (mga#5487) --- perl-install/install/NEWS | 1 + perl-install/install/pkgs.pm | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'perl-install/install') diff --git a/perl-install/install/NEWS b/perl-install/install/NEWS index 8332e0c39..6f2ea446e 100644 --- a/perl-install/install/NEWS +++ b/perl-install/install/NEWS @@ -1,3 +1,4 @@ +- fix a crash when package state is empty (mga#5487) - when selecting where ro install bootloader, display mountpoint if available, and size+fs_type if we have nothing (mga#5460) diff --git a/perl-install/install/pkgs.pm b/perl-install/install/pkgs.pm index 77aaebf9c..266c0a5b9 100644 --- a/perl-install/install/pkgs.pm +++ b/perl-install/install/pkgs.pm @@ -279,8 +279,11 @@ sub _resolve_requested_and_check { my @l = $packages->resolve_requested($packages->{rpmdb}, $state, $requested, callback_choices => \&packageCallbackChoices, no_suggests => $::o->{no_suggests}); - my @new_ids = map { $packages->{depslist}[$_]->id } grep { $state->{selected}{$_}{suggested} } keys $state->{selected}; - @suggested_package_ids = uniq(@suggested_package_ids, @new_ids); + + if (!is_empty_hash_ref($state->{selected})) { + my @new_ids = map { $packages->{depslist}[$_]->id } grep { $state->{selected}{$_}{suggested} } keys $state->{selected}; + @suggested_package_ids = uniq(@suggested_package_ids, @new_ids); + } my $error; if (find { !exists $state->{selected}{$_} } keys %$requested) { -- cgit v1.2.1