(action, state)
return addr_list
For memory actions, get a list of addresses it operates on.

        :param SimAction action: The action object to work with.
        :return:                 A list of addresses that are accessed with that action.
        :rtype:                  list
For memory actions, get a list of addresses it operates on.
For memory actions get a list of addresses it operates on .
def _get_actual_addrs(action, state):
        """
        For memory actions, get a list of addresses it operates on.

        :param SimAction action: The action object to work with.
        :return:                 A list of addresses that are accessed with that action.
        :rtype:                  list
        """

        if action.actual_addrs is None:
            # For now, mem reads don't necessarily have actual_addrs set properly
            try:
                addr_list = {state.solver.eval(action.addr.ast)}
            except (SimSolverModeError, SimUnsatError, ZeroDivisionError):
                # FIXME: ZeroDivisionError should have been caught by claripy and simuvex.
                # FIXME: see claripy issue #75. this is just a temporary workaround.
                # it's symbolic... just continue
                addr_list = {0x60000000}  # TODO: this is a random address that I pick. Fix it.
        else:
            addr_list = set(action.actual_addrs)

        return addr_list
def _get_actual_addrs ( action , state ) : if action . actual_addrs is None : # For now, mem reads don't necessarily have actual_addrs set properly try : addr_list = { state . solver . eval ( action . addr . ast ) } except ( SimSolverModeError , SimUnsatError , ZeroDivisionError ) : # FIXME: ZeroDivisionError should have been caught by claripy and simuvex. # FIXME: see claripy issue #75. this is just a temporary workaround. # it's symbolic... just continue addr_list = { 0x60000000 } # TODO: this is a random address that I pick. Fix it. else : addr_list = set ( action . actual_addrs ) return addr_list