PR22230, buffer overflow in display_debug_macro
PR 22230 * objdump.c (load_specific_debug_section): Allocate an extra byte for a terminating NUL.
This commit is contained in:
parent
3678b25d0c
commit
4f1881b944
|
@ -1,3 +1,9 @@
|
|||
2017-10-01 Alan Modra <amodra@gmail.com>
|
||||
|
||||
PR 22230
|
||||
* objdump.c (load_specific_debug_section): Allocate an extra byte
|
||||
for a terminating NUL.
|
||||
|
||||
2017-09-30 Alan Modra <amodra@gmail.com>
|
||||
|
||||
PR 21978
|
||||
|
|
|
@ -2475,17 +2475,18 @@ load_specific_debug_section (enum dwarf_section_display_enum debug,
|
|||
section->num_relocs = 0;
|
||||
section->address = bfd_get_section_vma (abfd, sec);
|
||||
section->size = bfd_get_section_size (sec);
|
||||
section->start = NULL;
|
||||
section->start = malloc (section->size + 1);
|
||||
section->user_data = sec;
|
||||
ret = bfd_get_full_section_contents (abfd, sec, §ion->start);
|
||||
|
||||
if (! ret)
|
||||
if (section->start == NULL
|
||||
|| !bfd_get_full_section_contents (abfd, sec, §ion->start))
|
||||
{
|
||||
free_debug_section (debug);
|
||||
printf (_("\nCan't get contents for section '%s'.\n"),
|
||||
section->name);
|
||||
return 0;
|
||||
}
|
||||
/* Ensure any string section has a terminating NUL. */
|
||||
section->start[section->size] = 0;
|
||||
|
||||
if (is_relocatable && debug_displays [debug].relocate)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue