asan: uninitialised write in bfd_mach_o_write_contents

* mach-o.c (bfd_mach_o_write_contents): Always set
	bfd_mach_o_dyld_info_command *_off fields.
This commit is contained in:
Alan Modra
2022-06-04 18:31:54 +09:30
parent ac3afe36d7
commit 21aacea42e

View File

@ -2656,32 +2656,17 @@ bfd_mach_o_write_contents (bfd *abfd)
{
bfd_mach_o_dyld_info_command *di = &cmd->command.dyld_info;
if (di->rebase_size != 0)
{
di->rebase_off = mdata->filelen;
di->rebase_off = di->rebase_size != 0 ? mdata->filelen : 0;
mdata->filelen += di->rebase_size;
}
if (di->bind_size != 0)
{
di->bind_off = mdata->filelen;
di->bind_off = di->bind_size != 0 ? mdata->filelen : 0;
mdata->filelen += di->bind_size;
}
if (di->weak_bind_size != 0)
{
di->weak_bind_off = mdata->filelen;
di->weak_bind_off = di->weak_bind_size != 0 ? mdata->filelen : 0;
mdata->filelen += di->weak_bind_size;
}
if (di->lazy_bind_size != 0)
{
di->lazy_bind_off = mdata->filelen;
di->lazy_bind_off = di->lazy_bind_size != 0 ? mdata->filelen : 0;
mdata->filelen += di->lazy_bind_size;
}
if (di->export_size != 0)
{
di->export_off = mdata->filelen;
di->export_off = di->export_size != 0 ? mdata->filelen : 0;
mdata->filelen += di->export_size;
}
}
break;
case BFD_MACH_O_LC_LOAD_DYLIB:
case BFD_MACH_O_LC_LOAD_DYLINKER: