PR23781, _bfd_pe_bfd_copy_private_bfd_data_common memory leak
PR 23781 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Free data before returning.
This commit is contained in:
parent
feceaa596e
commit
8df73d5cc3
@ -1,3 +1,9 @@
|
|||||||
|
2018-10-16 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
PR 23781
|
||||||
|
* peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Free data
|
||||||
|
before returning.
|
||||||
|
|
||||||
2018-10-16 Alan Modra <amodra@gmail.com>
|
2018-10-16 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
PR 23534
|
PR 23534
|
||||||
|
@ -2993,6 +2993,7 @@ _bfd_XX_bfd_copy_private_bfd_data_common (bfd * ibfd, bfd * obfd)
|
|||||||
"exceeds space left in section (%" PRIx64 ")"),
|
"exceeds space left in section (%" PRIx64 ")"),
|
||||||
obfd, ope->pe_opthdr.DataDirectory[PE_DEBUG_DATA].Size,
|
obfd, ope->pe_opthdr.DataDirectory[PE_DEBUG_DATA].Size,
|
||||||
(uint64_t) (section->size - (addr - section->vma)));
|
(uint64_t) (section->size - (addr - section->vma)));
|
||||||
|
free (data);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
/* PR 23110. */
|
/* PR 23110. */
|
||||||
@ -3002,6 +3003,7 @@ _bfd_XX_bfd_copy_private_bfd_data_common (bfd * ibfd, bfd * obfd)
|
|||||||
_bfd_error_handler
|
_bfd_error_handler
|
||||||
(_("%pB: Data Directory size (%#lx) is negative"),
|
(_("%pB: Data Directory size (%#lx) is negative"),
|
||||||
obfd, ope->pe_opthdr.DataDirectory[PE_DEBUG_DATA].Size);
|
obfd, ope->pe_opthdr.DataDirectory[PE_DEBUG_DATA].Size);
|
||||||
|
free (data);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3030,8 +3032,10 @@ _bfd_XX_bfd_copy_private_bfd_data_common (bfd * ibfd, bfd * obfd)
|
|||||||
if (!bfd_set_section_contents (obfd, section, data, 0, section->size))
|
if (!bfd_set_section_contents (obfd, section, data, 0, section->size))
|
||||||
{
|
{
|
||||||
_bfd_error_handler (_("failed to update file offsets in debug directory"));
|
_bfd_error_handler (_("failed to update file offsets in debug directory"));
|
||||||
|
free (data);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
free (data);
|
||||||
}
|
}
|
||||||
else if (section)
|
else if (section)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user