[Bug demangler/84951] New: UBSAN: libiberty/d-demangle.c:209:14: runtime error: signed integer overflow: 922337203685477581 * 10 cannot be represented in type 'long int'

marxin at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Mar 19 12:33:00 GMT 2018


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84951

            Bug ID: 84951
           Summary: UBSAN: libiberty/d-demangle.c:209:14: runtime error:
                    signed integer overflow: 922337203685477581 * 10
                    cannot be represented in type 'long int'
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: demangler
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
            Blocks: 63426
  Target Milestone: ---

Following causes trouble:

$ cat /tmp/todo2
#
--format=dlang
_D9223372036854775817
_D9223372036854775817
$ ./libiberty/testsuite/test-demangle < /tmp/todo2
../../libiberty/d-demangle.c:209:14: runtime error: signed integer overflow:
922337203685477581 * 10 cannot be represented in type 'long int'
    #0 0x457e1f in dlang_number ../../libiberty/d-demangle.c:209
    #1 0x45af90 in dlang_identifier ../../libiberty/d-demangle.c:788
    #2 0x45c43c in dlang_parse_qualified ../../libiberty/d-demangle.c:1437
    #3 0x45cc6e in dlang_parse_mangle ../../libiberty/d-demangle.c:1354
    #4 0x45d361 in dlang_demangle ../../libiberty/d-demangle.c:1633
    #5 0x40cce1 in cplus_demangle ../../libiberty/cplus-dem.c:913
    #6 0x404a2c in main ../../../libiberty/testsuite/test-demangle.c:317
    #7 0x7ffff707ca86 in __libc_start_main (/lib64/libc.so.6+0x21a86)
    #8 0x405269 in _start
(/home/marxin/Programming/gcc/objdir3/libiberty/testsuite/test-demangle+0x405269)


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63426
[Bug 63426] [meta-bug] Issues found with -fsanitize=undefined


More information about the Gcc-bugs mailing list