ubsan: _bfd_xcoff64_swap_aux_in left shift of negative value
authorAlan Modra <amodra@gmail.com>
Mon, 25 Oct 2021 01:09:39 +0000 (11:39 +1030)
committerAlan Modra <amodra@gmail.com>
Mon, 25 Oct 2021 01:11:52 +0000 (11:41 +1030)
* coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Use bfd_vma for h.

bfd/coff64-rs6000.c

index 04e0798bf69cf10ca70079cae67a2a8f8e0af483..8c206959fd344ac8587b4047f4d01f8a1d3b74b4 100644 (file)
@@ -410,11 +410,8 @@ _bfd_xcoff64_swap_aux_in (bfd *abfd, void *ext1, int type ATTRIBUTE_UNUSED,
          if (auxtype != _AUX_CSECT)
            goto error;
 
-         bfd_signed_vma h = 0;
-         bfd_vma l = 0;
-
-         h = H_GET_S32 (abfd, ext->x_csect.x_scnlen_hi);
-         l = H_GET_32 (abfd, ext->x_csect.x_scnlen_lo);
+         bfd_vma h = H_GET_S32 (abfd, ext->x_csect.x_scnlen_hi);
+         bfd_vma l = H_GET_32 (abfd, ext->x_csect.x_scnlen_lo);
 
          in->x_csect.x_scnlen.l = h << 32 | (l & 0xffffffff);