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 | fddd0e66deddd2b85d07ae6e570c484bc9fb36af (patch) | |
tree | 9a9ebb70cb6bd4b40d71da19d20f8f2cacc7d55a /libunwind | |
parent | b9fa99649bc99e2be9d06511d16f266225eae860 (diff) | |
download | bcm5719-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.hpp | 2 |
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; |