2010-08-28 Kamil Ignacak wrote:
Reading large ISO 9660 file systems (over 4GB) results in a file that
has ISO header at the beginning of file, and a copy of it right after
(2^32 - 1)th byte.
Indeed a problem. Here is a test case. Grab the 4.1G file
http://ftp.scientificlinux.org/linux/scientific/6.1/x86_64/iso/SL-61-x86_64-2011-11-09-Install-DVD.iso
Use other tools and see an OK XML file at repodata/repomd.xml
Then do
iso-read -i ~/Downloads/SL-61-x86_64-2011-11-09-Install-DVD.iso -e
repodata/repomd.xml -o ~/test.txt ; more ~/test.txt
and see bad data.
Apparently Kamil was right with his analysis:
You need to be careful when reading ISO 9660 file systems from
DVDs. If the file system is larger than 4GB, libiso9660 can't handle
it properly. One of library functions (iso9660_iso_seek_read()?) uses
byte offset parameter, and that offset is wrapped back to zero when it
reaches 2^32 bytes.
Tried with libcdio 0.81, 0.82 and today's git 0.84. Running on a
couple 64 bit Enterprise Linux flavors, i.e. Fedora 14 and SL 6.1.
Could someone fix this or give a very specific hint how to fix this?
_______________________________________________
Libcdio-help mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/libcdio-help