Fix out of bounds access to the double regs array. Given the
authorEric Christopher <echristo@gmail.com>
Thu, 23 Jan 2014 21:41:10 +0000 (21:41 +0000)
committerEric Christopher <echristo@gmail.com>
Thu, 23 Jan 2014 21:41:10 +0000 (21:41 +0000)
code this looks correct, but could use review. The previous
was definitely not correct.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199940 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Sparc/AsmParser/SparcAsmParser.cpp

index 8234e5df8af58c7f0c7fdeed87979eaf8b632d9d..07758894775c0e4e1f3ff61760b4b2b93e3d7509 100644 (file)
@@ -734,7 +734,7 @@ bool SparcAsmParser::matchRegisterName(const AsmToken &Tok,
         && !name.substr(1, 2).getAsInteger(10, intVal)
         && intVal >= 32 && intVal <= 62 && (intVal % 2 == 0)) {
       // FIXME: Check V9
-      RegNo = DoubleRegs[16 + intVal/2];
+      RegNo = DoubleRegs[intVal/2];
       RegKind = SparcOperand::rk_DoubleReg;
       return true;
     }