Add range changing to STABS parsing functions, in order to prevent buffer overruns.
authorNick Clifton <nickc@redhat.com>
Tue, 13 Mar 2018 16:10:45 +0000 (16:10 +0000)
committerNick Clifton <nickc@redhat.com>
Tue, 13 Mar 2018 16:10:45 +0000 (16:10 +0000)
commit81db3241f2c888c4fae1884444953085be224815
tree1b44453dfaf35d6a225e66be1b32bcd174d7b339
parent3e33b239450771394fa6c83b67b9de80169f35e8
Add range changing to STABS parsing functions, in order to prevent buffer overruns.

PR 22955
* stabs.c (parse_number): Add p_end parameter and use it to check
the validity of the pp parameter.  Add checks to prevent walking
off the end of the string buffer.
(parse_stab_string): Likewise.
(parse_stab_type): Likewise.
(parse_stab_type_number): Likewise.
(parse_stab_range_type): Likewise.
(parse_stab_sun_builtin_type): Likewise.
(parse_stab_sun_floating_type): Likewise.
(parse_stab_enum_type): Likewise.
(parse_stab_struct_type): Likewise.
(parse_stab_baseclasses): Likewise.
(parse_stab_struct_fields): Likewise.
(parse_stab_cpp_abbrev): Likewise.
(parse_stab_one_struct_field): Likewise.
(parse_stab_members): Likewise.
(parse_stab_tilde_field): Likewise.
(parse_stab_array_type): Likewise.
* parse_stab: Compute the end of the string and then pass it on to
individual parser functions.
binutils/ChangeLog
binutils/stabs.c