Resolves: #1573359 Resolves: #1574700 Resolves: #1573365 Resolves: #1551786 Resolves: #1546624 Resolves: #1543245 Resolves: #1539888
19 lines
688 B
Diff
19 lines
688 B
Diff
--- binutils.orig/bfd/peXXigen.c 2018-07-11 14:28:44.937231840 +0100
|
|
+++ binutils-2.29.1/bfd/peXXigen.c 2018-07-11 14:29:27.861771394 +0100
|
|
@@ -2992,6 +2992,16 @@ _bfd_XX_bfd_copy_private_bfd_data_common
|
|
return FALSE;
|
|
}
|
|
|
|
+ /* PR 23110. */
|
|
+ else if (ope->pe_opthdr.DataDirectory[PE_DEBUG_DATA].Size < 0)
|
|
+ {
|
|
+ /* xgettext:c-format */
|
|
+ _bfd_error_handler
|
|
+ (_("%pB: Data Directory size (%#lx) is negative"),
|
|
+ obfd, ope->pe_opthdr.DataDirectory[PE_DEBUG_DATA].Size);
|
|
+ return FALSE;
|
|
+ }
|
|
+
|
|
for (i = 0; i < ope->pe_opthdr.DataDirectory[PE_DEBUG_DATA].Size
|
|
/ sizeof (struct external_IMAGE_DEBUG_DIRECTORY); i++)
|
|
{
|