Avoid buffer overflow in ada_decode
authorTom Tromey <tromey@adacore.com>
Wed, 16 Aug 2023 17:29:19 +0000 (11:29 -0600)
committerTom Tromey <tromey@adacore.com>
Wed, 16 Aug 2023 19:07:08 +0000 (13:07 -0600)
commit033bc52bb6190393c8eed80925fa78cc35b40c6d
treec5894738d627d9d965265fffb0a61e246f373930
parent94c5098e4d9d5b58a6db31064398fb4941ab5efb
Avoid buffer overflow in ada_decode

A bug report pointed out a buffer overflow in ada_decode, which Keith
helpfully analyzed.  ada_decode had a logic error when the input was
all digits.  While this isn't valid -- and would probably only appear
in fuzzer tests -- it still should be handled properly.

This patch adds a missing bounds check.  Tested with the self-tests in
an asan build.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30639
Reviewed-by: Keith Seitz <keiths@redhat.com>
gdb/ada-lang.c