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

Reply via email to