Skip Menu |

This queue is for tickets about the Device-Cdio CPAN distribution.

Report information
The Basics
Id: 20855
Status: resolved
Priority: 0/
Queue: Device-Cdio

People
Owner: Rocky Bernstein (no email address)
Requestors: bitcard.org [...] fremnet.net
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: v0.2.3
Fixed in: (no value)



Subject: Segfault on FS->readdir and FS->find_lsn
Distribution: Device::Cdio-v0.2.3 Perl: 5.8.8 build for x86_64-linux OS: Linux hotbox 2.6.16-gentoo-r9 #1 SMP PREEMPT Mon Jun 26 23:12:40 EST 2006 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ GNU/Linux libcdio version: 0.77 swig version: 1.3.25 Segfault is caused by passing undefined variables. <CODE> use Device::Cdio::ISO9660; use Device::Cdio::ISO9660::FS; $ISO = Device::Cdio::ISO9660::FS->new(-source=>'/dev/cdrom'); @directory = $ISO->readdir('/'); </CODE> In FS.pm $self->{iso9660} should be $self->{cd}
Subject: Device-Cdio-segfault.patch
--- Device-Cdio-v0.2.3-org/lib/Device/Cdio/ISO9660/FS.pm 2006-03-23 14:02:35.000000000 +1000 +++ Device-Cdio-v0.2.3-new/lib/Device/Cdio/ISO9660/FS.pm 2006-08-05 17:59:55.000000000 +1000 @@ -130,7 +130,7 @@ return undef; } - my @values = perliso9660::fs_find_lsn($self->{iso9660}, $lsn); + my @values = perliso9660::fs_find_lsn($self->{cd}, $lsn); return Device::Cdio::ISO9660::stat_array_to_href(@values); } @@ -189,7 +189,7 @@ return undef; } - my @values = perliso9660::fs_readdir($self->{iso9660}, $dirname); + my @values = perliso9660::fs_readdir($self->{cd}, $dirname); # Remove the two input parameters splice(@values, 0, 2) if @values > 2;
Thanks. Patch applied. FS->find_lsn had an additional bug not covered by the patch which has been fixed too.