asan: vms-alpha: stack buffer overflow
authorAlan Modra <amodra@gmail.com>
Mon, 9 Nov 2020 12:53:34 +0000 (23:23 +1030)
committerAlan Modra <amodra@gmail.com>
Mon, 9 Nov 2020 12:57:46 +0000 (23:27 +1030)
32 bits is too big for the field.

* vms-alpha.c (alpha_vms_write_exec): Write 16 bits to eihd.alias.

bfd/ChangeLog
bfd/vms-alpha.c

index 0d1d63d5fed65aca8ff556d939aad21608c38064..81d84e6fd44f9547a0359805be2c8e7d9b011789 100644 (file)
@@ -1,3 +1,7 @@
+2020-11-09  Alan Modra  <amodra@gmail.com>
+
+       * vms-alpha.c (alpha_vms_write_exec): Write 16 bits to eihd.alias.
+
 2020-11-09  Alan Modra  <amodra@gmail.com>
 
        * archive.c (bfd_ar_hdr_from_filesystem): Use bfd_set_input_error
index 5bf32d67803e38830d321a812b37ab9578c6999f..471e0215e64aa56d55b05036349d90846909beb5 100644 (file)
@@ -3252,7 +3252,7 @@ alpha_vms_write_exec (bfd *abfd)
   bfd_putl32 (16, eihd.virt_mem_block_size);
   bfd_putl32 (0, eihd.ext_fixup_off);
   bfd_putl32 (0, eihd.noopt_psect_off);
-  bfd_putl32 (-1, eihd.alias);
+  bfd_putl16 (-1, eihd.alias);
 
   /* Alloc EIHA.  */
   eiha = (struct vms_eiha *)((char *) &eihd + PRIV (file_pos));