summaryrefslogtreecommitdiffstats
path: root/libunwind
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
commitfddd0e66deddd2b85d07ae6e570c484bc9fb36af (patch)
tree9a9ebb70cb6bd4b40d71da19d20f8f2cacc7d55a /libunwind
parentb9fa99649bc99e2be9d06511d16f266225eae860 (diff)
downloadbcm5719-llvm-fddd0e66deddd2b85d07ae6e570c484bc9fb36af.tar.gz
bcm5719-llvm-fddd0e66deddd2b85d07ae6e570c484bc9fb36af.zip
unwind: fix invalid memory access
Fix out-of-bounds array access when setting arm float registers. Patch by Leandro GraciĆ” Gil! llvm-svn: 245665
Diffstat (limited to 'libunwind')
-rw-r--r--libunwind/src/Registers.hpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/libunwind/src/Registers.hpp b/libunwind/src/Registers.hpp
index 4a441b70e4b..d01ebf0f19e 100644
--- a/libunwind/src/Registers.hpp
+++ b/libunwind/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;
OpenPOWER on IntegriCloud