setup_archive parameter mismatch
* elfcomm.c (setup_archive): Make file_size an off_t. Comment. * elfcomm.h (setup_archive): Update prototype.
This commit is contained in:
parent
cdf236890c
commit
645ba68105
|
@ -1,3 +1,8 @@
|
|||
2020-03-19 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* elfcomm.c (setup_archive): Make file_size an off_t. Comment.
|
||||
* elfcomm.h (setup_archive): Update prototype.
|
||||
|
||||
2020-03-16 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* readelf.c (get_symbols): New function.
|
||||
|
|
|
@ -21,6 +21,11 @@
|
|||
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
|
||||
02110-1301, USA. */
|
||||
|
||||
/* Do not use BFD types in this file that differ in size depending on
|
||||
whether BFD64 is defined. Functions in this file are used by
|
||||
readelf.c and elfedit.c which define BFD64, and by objdump.c which
|
||||
doesn't. */
|
||||
|
||||
#include "sysdep.h"
|
||||
#include "libiberty.h"
|
||||
#include "filenames.h"
|
||||
|
@ -607,7 +612,7 @@ process_archive_index_and_symbols (struct archive_info * arch,
|
|||
|
||||
int
|
||||
setup_archive (struct archive_info *arch, const char *file_name,
|
||||
FILE *file, bfd_size_type file_size,
|
||||
FILE *file, off_t file_size,
|
||||
bfd_boolean is_thin_archive, bfd_boolean read_symbols)
|
||||
{
|
||||
size_t got;
|
||||
|
@ -671,7 +676,7 @@ setup_archive (struct archive_info *arch, const char *file_name,
|
|||
return 1;
|
||||
}
|
||||
/* PR 17531: file: 639d6a26. */
|
||||
if (arch->longnames_size > file_size
|
||||
if ((off_t) arch->longnames_size > file_size
|
||||
|| (signed long) arch->longnames_size < 0)
|
||||
{
|
||||
error (_("%s: long name table is too big, (size = 0x%lx)\n"),
|
||||
|
|
|
@ -74,7 +74,7 @@ extern char *adjust_relative_path (const char *, const char *, unsigned long);
|
|||
|
||||
/* Read the symbol table and long-name table from an archive. */
|
||||
extern int setup_archive (struct archive_info *, const char *, FILE *,
|
||||
bfd_size_type, bfd_boolean, bfd_boolean);
|
||||
off_t, bfd_boolean, bfd_boolean);
|
||||
|
||||
/* Open and setup a nested archive, if not already open. */
|
||||
extern int setup_nested_archive (struct archive_info *, const char *);
|
||||
|
|
Loading…
Reference in New Issue