GUI+DBG: issue #416 should be partially fixed now (mainly disassembling)
This commit is contained in:
		
							parent
							
								
									0cffb9d42b
								
							
						
					
					
						commit
						81377dd4b0
					
				|  | @ -74,9 +74,7 @@ bool Capstone::InGroup(cs_group_type group) const | |||
| 
 | ||||
| std::string Capstone::OperandText(int opindex) const | ||||
| { | ||||
|     if(!Success()) | ||||
|         return false; | ||||
|     if(opindex >= mInstr->detail->x86.op_count) | ||||
|     if(!Success() || opindex >= mInstr->detail->x86.op_count) | ||||
|         return ""; | ||||
|     const auto & op = mInstr->detail->x86.operands[opindex]; | ||||
|     std::string result; | ||||
|  |  | |||
|  | @ -415,7 +415,7 @@ bool CapstoneTokenizer::tokenizeMemOperand(const cs_x86_op & op) | |||
|     //stuff inside the brackets
 | ||||
|     if(mem.base == X86_REG_RIP)   //rip-relative (#replacement)
 | ||||
|     { | ||||
|         duint addr = _cp.Address() + duint (mem.disp); | ||||
|         duint addr = _cp.Address() + duint (mem.disp) + _cp.Size(); | ||||
|         TokenValue value = TokenValue(op.size, addr); | ||||
|         auto displacementType = DbgMemIsValidReadPtr(addr) ? TokenType::Address : TokenType::Value; | ||||
|         addToken(displacementType, printValue(value, false, _maxModuleLength), value); | ||||
|  |  | |||
|  | @ -74,9 +74,7 @@ bool Capstone::InGroup(cs_group_type group) const | |||
| 
 | ||||
| std::string Capstone::OperandText(int opindex) const | ||||
| { | ||||
|     if(!Success()) | ||||
|         return false; | ||||
|     if(opindex >= mInstr->detail->x86.op_count) | ||||
|     if(!Success() || opindex >= mInstr->detail->x86.op_count) | ||||
|         return ""; | ||||
|     const auto & op = mInstr->detail->x86.operands[opindex]; | ||||
|     std::string result; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue