[all-commits] [llvm/llvm-project] 16ede0: Fix UBSAN in __ubsan::Value::getSIntValue

marxin via All-commits all-commits at lists.llvm.org
Tue Feb 23 02:11:01 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 16ede0956cb1f4b692dfa619ccfa6ab1de28e19b
      https://github.com/llvm/llvm-project/commit/16ede0956cb1f4b692dfa619ccfa6ab1de28e19b
  Author: Martin Liska <mliska at suse.cz>
  Date:   2021-02-23 (Tue, 23 Feb 2021)

  Changed paths:
    M compiler-rt/lib/ubsan/ubsan_value.cpp

  Log Message:
  -----------
  Fix UBSAN in __ubsan::Value::getSIntValue

/home/marxin/Programming/gcc2/libsanitizer/ubsan/ubsan_value.cpp:77:25: runtime error: left shift of 0x0000000000000000fffffffffffffffb by 96 places cannot be represented in type '__int128'
    #0 0x7ffff754edfe in __ubsan::Value::getSIntValue() const /home/marxin/Programming/gcc2/libsanitizer/ubsan/ubsan_value.cpp:77
    #1 0x7ffff7548719 in __ubsan::Value::isNegative() const /home/marxin/Programming/gcc2/libsanitizer/ubsan/ubsan_value.h:190
    #2 0x7ffff7542a34 in handleShiftOutOfBoundsImpl /home/marxin/Programming/gcc2/libsanitizer/ubsan/ubsan_handlers.cpp:338
    #3 0x7ffff75431b7 in __ubsan_handle_shift_out_of_bounds /home/marxin/Programming/gcc2/libsanitizer/ubsan/ubsan_handlers.cpp:370
    #4 0x40067f in main (/home/marxin/Programming/testcases/a.out+0x40067f)
    #5 0x7ffff72c8b24 in __libc_start_main (/lib64/libc.so.6+0x27b24)
    #6 0x4005bd in _start (/home/marxin/Programming/testcases/a.out+0x4005bd)

Differential Revision: https://reviews.llvm.org/D97263




More information about the All-commits mailing list