[gdb/m2] Fix UB and literal truncation
authorTom de Vries <tdevries@suse.de>
Sat, 4 Jun 2022 11:17:33 +0000 (13:17 +0200)
committerTom de Vries <tdevries@suse.de>
Sat, 4 Jun 2022 11:17:33 +0000 (13:17 +0200)
commit999f7adc21cdcef5b606d2529068121dc6032b18
treea9816ef9c80aa8cc631f57ae44f4cd107c13e93e
parent1390b65a1b93f75cdd4165f190b4a95b93add66e
[gdb/m2] Fix UB and literal truncation

Rewrite parse_number to use ULONGEST instead of LONGEST, to fix UB errors as
mentioned in PR29163.

Furthermore, make sure we error out on overflow instead of truncating in all
cases.

Tested on x86_64-linux, with a build with --enable-targets=all.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29163
gdb/m2-exp.y
gdb/testsuite/gdb.base/parse_number.exp