Log Message: |
(Db_traverse_tag_find) fix a rare segfault
found accidently
could be triggered by the following (calling enough times either
requires() or provides() while traversing rpm db) which resulting in
an "Invalid read of size 8":
use URPM;
my $db = URPM::DB::open()->traverse_tag_find('whatprovides', 'kernel',
sub {
my ($p) = @_;
warn $p->requires, $p->requires, $p->requires, $p->requires, $p->requires,
$p->requires, $p->requires, $p->requires, $p->requires, $p->requires, $p->requires,
$p->requires, $p->requires, $p->requires, $p->requires, $p->requires, $p->requires;
return 1;
});
bug introduced in commit r4947 on June 14 2012:
"(_run_cb_while_traversing) introduce this helper"
|