diff options
author | Saleem Abdulrasool <compnerd@compnerd.org> | 2015-08-21 03:21:31 +0000 |
---|---|---|
committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2015-08-21 03:21:31 +0000 |
commit | 7a61b66a65505b63781e5c538c3ea1253e1a717d (patch) | |
tree | 739ccb90232b0ba7aa651d727f06738e679dd134 | |
parent | 40377de0186cf63e7024b535d56d6f740cb8fc83 (diff) | |
download | libunwind_llvm-7a61b66a65505b63781e5c538c3ea1253e1a717d.tar.gz |
unwind: fix invalid memory accessupstream
Fix out-of-bounds array access when setting arm float registers.
Patch by Leandro GraciĆ” Gil!
git-svn-id: https://llvm.org/svn/llvm-project/libunwind/trunk@245665 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | src/Registers.hpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/Registers.hpp b/src/Registers.hpp index 4a441b7..d01ebf0 100644 --- a/src/Registers.hpp +++ b/src/Registers.hpp @@ -1689,7 +1689,7 @@ inline void Registers_arm::setFloatRegister(int regNum, unw_fpreg_t value) { _saved_vfp_d16_d31 = true; saveVFPv3(_vfp_d16_d31); } - _vfp_d16_d31[regNum - UNW_ARM_D0] = value; + _vfp_d16_d31[regNum - UNW_ARM_D16] = value; } else if (regNum >= UNW_ARM_WR0 && regNum <= UNW_ARM_WR15) { if (!_saved_iwmmx) { _saved_iwmmx = true; |