PR23966, mingw failure due to 32-bit long
PR 23966 * libbfd.c (SSIZE_MAX): Define. (bfd_malloc, bfd_realloc): Don't cast size to long to check for "negative" values, compare against SSIZE_MAX instead.
This commit is contained in:
parent
d1a3c973fa
commit
cb87d9f1a4
|
@ -1,3 +1,10 @@
|
|||
2018-12-28 Alan Modra <amodra@gmail.com>
|
||||
|
||||
PR 23966
|
||||
* libbfd.c (SSIZE_MAX): Define.
|
||||
(bfd_malloc, bfd_realloc): Don't cast size to long to check for
|
||||
"negative" values, compare against SSIZE_MAX instead.
|
||||
|
||||
2018-12-23 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* elf32-i386.c (elf_i386_rtype_to_howto): Remove the unused bfd
|
||||
|
|
|
@ -254,6 +254,10 @@ _bfd_dummy_target (bfd *ignore_abfd ATTRIBUTE_UNUSED)
|
|||
|
||||
/* Allocate memory using malloc. */
|
||||
|
||||
#ifndef SSIZE_MAX
|
||||
#define SSIZE_MAX ((size_t) -1 >> 1)
|
||||
#endif
|
||||
|
||||
void *
|
||||
bfd_malloc (bfd_size_type size)
|
||||
{
|
||||
|
@ -262,7 +266,7 @@ bfd_malloc (bfd_size_type size)
|
|||
|
||||
if (size != sz
|
||||
/* This is to pacify memory checkers like valgrind. */
|
||||
|| ((signed long) sz) < 0)
|
||||
|| sz > SSIZE_MAX)
|
||||
{
|
||||
bfd_set_error (bfd_error_no_memory);
|
||||
return NULL;
|
||||
|
@ -304,7 +308,7 @@ bfd_realloc (void *ptr, bfd_size_type size)
|
|||
|
||||
if (size != sz
|
||||
/* This is to pacify memory checkers like valgrind. */
|
||||
|| ((signed long) sz) < 0)
|
||||
|| sz > SSIZE_MAX)
|
||||
{
|
||||
bfd_set_error (bfd_error_no_memory);
|
||||
return NULL;
|
||||
|
|
Loading…
Reference in New Issue