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;