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

Reply via email to