isolinux: Update LBA in getlinsec loop
commit17a36e2c91706512e6c425222c9a9a451d9db854
authorMatt Fleming <matt.fleming@intel.com>
Thu, 10 Jan 2013 21:33:32 +0000 (10 21:33 +0000)
committerMatt Fleming <matt.fleming@intel.com>
Fri, 11 Jan 2013 08:39:27 +0000 (11 08:39 +0000)
tree1ec17f8a05c1b8aa8b91d6a6bc30b4ac16f47289
parent04cf121216bf2d5c6fc9e01028519f7d655d66cf
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