diff options
author | Angelo Naselli <anaselli@linux.it> | 2016-10-16 12:43:49 +0200 |
---|---|---|
committer | Thierry Vignaud <thierry.vignaud@gmail.com> | 2016-10-16 13:57:04 +0200 |
commit | a31506d8123747d15346f7808e8c14bce91bcd9b (patch) | |
tree | 39fba96b1928da33cd594654fb94edce89f32098 /URPM | |
parent | b72750d25a5d7da84979abc0547dd31118651acc (diff) | |
download | perl-URPM-a31506d8123747d15346f7808e8c14bce91bcd9b.tar perl-URPM-a31506d8123747d15346f7808e8c14bce91bcd9b.tar.gz perl-URPM-a31506d8123747d15346f7808e8c14bce91bcd9b.tar.bz2 perl-URPM-a31506d8123747d15346f7808e8c14bce91bcd9b.tar.xz perl-URPM-a31506d8123747d15346f7808e8c14bce91bcd9b.zip |
mga#15353 don't crash if re is wrong
Diffstat (limited to 'URPM')
-rw-r--r-- | URPM/Resolve.pm | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/URPM/Resolve.pm b/URPM/Resolve.pm index 641e006..38781cc 100644 --- a/URPM/Resolve.pm +++ b/URPM/Resolve.pm @@ -1945,14 +1945,17 @@ sub compute_flags { #- now search packages which fullname match given regexps if (@regex) { - my $large_re_s = join("|", map { "(?:$_)" } @regex); - my $re = qr/$large_re_s/; + eval { + my $large_re_s = join("|", map { "(?:$_)" } @regex); + my $re = qr/$large_re_s/; - foreach my $pkg (@{$urpm->{depslist}}) { - if ($pkg->fullname =~ $re) { - compute_flag($urpm, $pkg, %options); - } - } + foreach my $pkg (@{$urpm->{depslist}}) { + if ($pkg->fullname =~ $re) { + compute_flag($urpm, $pkg, %options); + } + } + }; + $urpm->{debug_URPM}("reg ex problem: " . $@) if $@; } } |