[libunwind] Fix getSLEB128 on large values
Previously, for large-enough values, getSLEB128 would attempt to shift a signed int in the range [0..0x7f] by 28, 35, 42... bits, which is undefined behavior and likely to fail. Avoid shifting (-1ULL) by 70 for large values. e.g. For INT64_MAX, the last two bytes will be: - 0x7f [bit==56] - 0x00 [bit==63] Differential Revision: https://reviews.llvm.org/D83742
Loading
Please register or sign in to comment