Author: compnerd Date: Thu Aug 20 22:21:31 2015 New Revision: 245665 URL: http://llvm.org/viewvc/llvm-project?rev=245665&view=rev Log: unwind: fix invalid memory access
Fix out-of-bounds array access when setting arm float registers. Patch by Leandro GraciĆ” Gil! Modified: libunwind/trunk/src/Registers.hpp Modified: libunwind/trunk/src/Registers.hpp URL: http://llvm.org/viewvc/llvm-project/libunwind/trunk/src/Registers.hpp?rev=245665&r1=245664&r2=245665&view=diff ============================================================================== --- libunwind/trunk/src/Registers.hpp (original) +++ libunwind/trunk/src/Registers.hpp Thu Aug 20 22:21:31 2015 @@ -1689,7 +1689,7 @@ inline void Registers_arm::setFloatRegis _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; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits