isolinux: Update LBA in getlinsec loop
authorMatt Fleming <matt.fleming@intel.com>
Thu, 10 Jan 2013 21:33:32 +0000 (21:33 +0000)
committerMatt Fleming <matt.fleming@intel.com>
Mon, 14 Jan 2013 09:09:41 +0000 (09:09 +0000)
commitcb015497a4e433ba81a47b28790b325807185617
tree1521f5db21d49e3715e780aa1d55b1813aa0dfd3
parent57733227cd0af41b263ee0042e4a7b5510afbaa5
isolinux: Update LBA in getlinsec loop

We need to increment the Logical Block Address in eax by the number of
sectors we passed to getlinsec after every invocation, otherwise we'll
start with the same sector everytime.

This bug was discovered when booting an isohybrid image, which failed
to boot after printing the following error,

    "Image checksum error, sorry..."

because the isolinux.bin was bigger than 32K, and thus invoked the
getlinsec loop that reads the file in chunks.

Cc: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
core/isolinux.asm