PR26430, ASAN: nacl_modify_segment_map elf-nacl.c:164
PR 26430 * elf-nacl.c (nacl_modify_segment_map): Correct alloc size and amount copied for elf_segment_map defined with one element sections array.
This commit is contained in:
parent
250dd99fc9
commit
0c1438eb15
2 changed files with 12 additions and 5 deletions
|
@ -1,3 +1,10 @@
|
|||
2020-08-25 Alan Modra <amodra@gmail.com>
|
||||
|
||||
PR 26430
|
||||
* elf-nacl.c (nacl_modify_segment_map): Correct alloc size and
|
||||
amount copied for elf_segment_map defined with one element
|
||||
sections array.
|
||||
|
||||
2020-08-25 Alan Modra <amodra@gmail.com>
|
||||
|
||||
PR 26422
|
||||
|
|
|
@ -156,13 +156,13 @@ nacl_modify_segment_map (bfd *abfd, struct bfd_link_info *info)
|
|||
secdata->this_hdr.sh_addr = sec->vma;
|
||||
secdata->this_hdr.sh_size = sec->size;
|
||||
|
||||
newseg = bfd_alloc (abfd,
|
||||
sizeof *newseg + ((seg->count + 1)
|
||||
* sizeof (asection *)));
|
||||
newseg
|
||||
= bfd_alloc (abfd, (sizeof (*newseg)
|
||||
+ seg->count * sizeof (asection *)));
|
||||
if (newseg == NULL)
|
||||
return FALSE;
|
||||
memcpy (newseg, seg,
|
||||
sizeof *newseg + (seg->count * sizeof (asection *)));
|
||||
memcpy (newseg, seg, (sizeof (*newseg) - sizeof (asection *)
|
||||
+ seg->count * sizeof (asection *)));
|
||||
newseg->sections[newseg->count++] = sec;
|
||||
*m = seg = newseg;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue