MCInstrAnalysis: Don't crash on instructions with no operands.
authorBenjamin Kramer <benny.kra@googlemail.com>
Mon, 19 Sep 2011 17:56:00 +0000 (17:56 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Mon, 19 Sep 2011 17:56:00 +0000 (17:56 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140027 91177308-0d34-0410-b5e6-96231b3b80d8

lib/MC/MCInstrAnalysis.cpp

index 03a35c597be50f438452bcd32df49dbfa31c9b0e..7736702f35a47db6c4fdbd8b4b14a6f0892a66bb 100644 (file)
@@ -12,7 +12,8 @@ using namespace llvm;
 
 uint64_t MCInstrAnalysis::evaluateBranch(const MCInst &Inst, uint64_t Addr,
                                          uint64_t Size) const {
-  if (Info->get(Inst.getOpcode()).OpInfo[0].OperandType != MCOI::OPERAND_PCREL)
+  if (Inst.getNumOperands() == 0 ||
+      Info->get(Inst.getOpcode()).OpInfo[0].OperandType != MCOI::OPERAND_PCREL)
     return -1ULL;
 
   int64_t Imm = Inst.getOperand(0).getImm();