asan: alpha-vms: Heap-buffer-overflow
authorAlan Modra <amodra@gmail.com>
Tue, 31 Dec 2019 11:54:31 +0000 (22:24 +1030)
committerAlan Modra <amodra@gmail.com>
Tue, 31 Dec 2019 13:00:21 +0000 (23:30 +1030)
commitbf31e6044082986689e17af54e2ca3cc1ac8419b
tree37c4b17ab773a456d5d16f64b6b1a76b814d74a3
parent930be6676412ab9a13ae7614ba57fb7e86a1ce72
asan: alpha-vms: Heap-buffer-overflow

This fixes yet more errors in the alpha-vms buffer size checks.

* vms-alpha.c (_bfd_vms_slurp_eisd): Don't overflow when checking
offset.  Don't overflow when checking rec_size, and do allow
rec_size to the end of the buffer.  Ensure eisd->type can be
accessed, not just the first 32 bytes.  Don't call
_bfd_vms_save_counted_string with zero length remaining.  Fail
on empty string section name.
(_bfd_vms_slurp_egsd): Formatting.  Catch more reads past end
of record size.  Correct remaining length calculation.  Fail
on empty string section name.  Consolidate error paths.
bfd/ChangeLog
bfd/vms-alpha.c