debug_link duplicate file size checks
authorAlan Modra <amodra@gmail.com>
Tue, 21 Feb 2023 21:45:26 +0000 (08:15 +1030)
committerAlan Modra <amodra@gmail.com>
Tue, 21 Feb 2023 22:48:25 +0000 (09:18 +1030)
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.

bfd/opncls.c

index 5dacad9b7d43df628ced9cf404da08ed01b9393c..cdf09b333faa2dd7f02147554994d7f60f628c32 100644 (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))