int IndirectControlFlowAnalyzer::GetMemoryReadSize(Assignment::Ptr memLoc) { if (!memLoc) { parsing_printf("\tmemLoc is null\n"); return 0; } Instruction i = memLoc->insn(); std::vector<Operand> ops; i.getOperands(ops); parsing_printf("\t there are %d operands\n", ops.size()); for (auto oit = ops.begin(); oit != ops.end(); ++oit) { Operand o = *oit; if (o.readsMemory()) { Expression::Ptr exp = o.getValue(); return exp->size(); } } return 0; }