[syslinux] [PATCH] isohybrid: fix overflow on 32 bit system

Thomas Schmitt scdbackup at gmx.net
Mon May 12 00:32:09 PDT 2014


Hi,

Kang Kai wrote:
> Do you mean make_isohybrid_mbr.c in libisofs? I'll check it.

Yes. The "new" implementation, make_isolinux_mbr() et.al.,
is what gets triggered by xorrisofs option -isohybrid-mbr.

But First:
I do not want to pull away users from isohybrid.c.
I rather deem it worthwhile to have two implementations which
users can both try in case of trouble.

Second:
My source will only be of limited help because it is not derived
from isohybrid.c but rather based on the specs which i derived
from isohybrid.pl:
  http://bazaar.launchpad.net/~libburnia-team/libisofs/scdbackup/view/head:/doc/boot_sectors.txt
I advise you to look there if you want to learn about my doings.

------------------------------------------------------------------

But the known bugs of isohybrid.c should get fixed.

The UTF-16 thing is a clear C programming error, regardless of
my interpretation of GPT specs.
You do not need iconv(3) to produce UTF-16LE. Just interleave
ASCII with 0-bytes:
  char name[28] =  {'I', 0, 'S', 0, 'O', 0, 'H', 0, 'y', 0, ...};
  ...
  memcpy(part->name, name, 28);
  ...
(This works of course only with ASCII names, not with exotic
 names expressed in UTF-8 or ISO-8859.) 


Have a nice day :)

Thomas



More information about the Syslinux mailing list