debug_link duplicate file size checks

bfd_malloc_and_get_section does these checks.

	* opncls.c (bfd_get_debug_link_info_1): Don't check section
	size against file size.
	(bfd_get_alt_debug_link_info): Likewise.
This commit is contained in:
Alan Modra
2023-02-22 08:15:26 +10:30
parent 3592bebbbf
commit ee590ebd33

View File

@ -1195,7 +1195,6 @@ bfd_get_debug_link_info_1 (bfd *abfd, void *crc32_out)
unsigned int crc_offset;
char *name;
bfd_size_type size;
ufile_ptr file_size;
BFD_ASSERT (abfd);
BFD_ASSERT (crc32_out);
@ -1206,10 +1205,9 @@ bfd_get_debug_link_info_1 (bfd *abfd, void *crc32_out)
return NULL;
size = bfd_section_size (sect);
file_size = bfd_get_size (abfd);
/* PR 22794: Make sure that the section has a reasonable size. */
if (size < 8 || (file_size != 0 && size >= file_size))
if (size < 8)
return NULL;
if (!bfd_malloc_and_get_section (abfd, sect, &contents))
@ -1284,7 +1282,6 @@ bfd_get_alt_debug_link_info (bfd * abfd, bfd_size_type *buildid_len,
unsigned int buildid_offset;
char *name;
bfd_size_type size;
ufile_ptr file_size;
BFD_ASSERT (abfd);
BFD_ASSERT (buildid_len);
@ -1296,8 +1293,7 @@ bfd_get_alt_debug_link_info (bfd * abfd, bfd_size_type *buildid_len,
return NULL;
size = bfd_section_size (sect);
file_size = bfd_get_size (abfd);
if (size < 8 || (file_size != 0 && size >= file_size))
if (size < 8)
return NULL;
if (!bfd_malloc_and_get_section (abfd, sect, & contents))