[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#595720: future unblock: libdbm-deep-perl/2.0002-1



"Adam D. Barratt" <adam@adam-barratt.org.uk> writes:

> On Mon, 2010-09-06 at 12:24 +0900, Ansgar Burchardt wrote:
>> libdbm-deep-perl can corrupt the database if too many transactions are
>> started[1].  This was fixed upstream in version 2.0002.  There is
>> another minor change in behavior in 2.0001, but this should not affect
>> Debian (the only rdep, libipc-pubsub-perl, seems not to use this
>> feature).
> [...]
>> +  * Use debhelper compat level 8; no longer pass --buildsystem=perl_build in
>> +    debian/rules as this is now selected by default.
>
> That's not really a great change to be making during freeze; have you
> verified that the package is unaffected by all of the changes between
> compat levels 7 and 8?

The only change between compat level 7 and 8 that is relevant is that
Build.PL is preferred over Makefile.PL.  But we already used Build.PL
with compat level 7 (--buildsystem=perl_build).  The other changes
mentioned in debhelper(7) are not relevant: they regard passing options
to debhelper commands (which we do not) and a change in dh_makeshlibs
(which is not used).

In addition the list of included files is the same (except for the now
removed ConfigData.pm).

>> lib/DBM/Deep/Engine/File.pm (.../tags/libdbm-deep-perl/2.0000-1)    (revision 62350)
>> +++ lib/DBM/Deep/Engine/File.pm (.../trunk/libdbm-deep-perl)    (revision 62350)
> [...]
>> @@ -435,7 +426,7 @@
>>  
>>      my @slots = $self->read_txn_slots;
>>      my $found;
>> -    for my $i ( 0 .. $#slots ) {
>> +    for my $i ( 0 .. $self->num_txns-2 ) {
>
> Should that be "$self->read_txn_slots - 2" ?

num_txns is the number of transactions.  read_txn_slots gives an array
that indicate which transactions are in use, but is always rounded up to
a multiple of 8 (it reads bytes).  I don't know why read_txn_slots
doesn't just ignore the surplus entries.

The same expression (0 .. $self->num_txns - 2) is also used in _dump_file.

Regards,
Ansgar



Reply to: