summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2015-08-21 03:21:31 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2015-08-21 03:21:31 +0000
commit7a61b66a65505b63781e5c538c3ea1253e1a717d (patch)
tree739ccb90232b0ba7aa651d727f06738e679dd134
parent40377de0186cf63e7024b535d56d6f740cb8fc83 (diff)
downloadlibunwind_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.hpp2
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;