From 4091037612ef40af2cb1f348cbcacfe627f0ca0f Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Fri, 24 Jun 2011 15:22:36 +0000 Subject: [PATCH] 2011-06-24 Tristan Gingold * vms-alpha.c (alpha_vms_slurp_relocs): Add a guard for relocs in the absolute section. --- bfd/ChangeLog | 5 +++++ bfd/vms-alpha.c | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 066713de9..96297a3dd 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2011-06-24 Tristan Gingold + + * vms-alpha.c (alpha_vms_slurp_relocs): Add a guard for relocs in the + absolute section. + 2011-06-24 Alan Modra PR ld/12921 diff --git a/bfd/vms-alpha.c b/bfd/vms-alpha.c index 92bf444f2..255a10002 100644 --- a/bfd/vms-alpha.c +++ b/bfd/vms-alpha.c @@ -5106,7 +5106,14 @@ alpha_vms_slurp_relocs (bfd *abfd) (*_bfd_error_handler) (_("Invalid section index in ETIR")); return FALSE; } + sec = PRIV (sections)[cur_psect]; + if (sec == bfd_abs_section_ptr) + { + (*_bfd_error_handler) (_("Relocation for non-REL psect")); + return FALSE; + } + vms_sec = vms_section_data (sec); /* Allocate a reloc entry. */ @@ -5117,7 +5124,7 @@ alpha_vms_slurp_relocs (bfd *abfd) vms_sec->reloc_max = 64; sec->relocation = bfd_zmalloc (vms_sec->reloc_max * sizeof (arelent)); - } + } else { vms_sec->reloc_max *= 2; -- 2.11.4.GIT