Indeed, renaming the file to .iso works. That seems like a bug. It still thinks it's a cdrom, but dies with a null pointer in read_partial_sector().