(self, dst_addr_ast)
return ptr
Assign a new region for under-constrained symbolic execution.

        :param dst_addr_ast: the symbolic AST which address of the new allocated region will be assigned to.
        :return: as ast of memory address that points to a new region
Assign a new region for under-constrained symbolic execution.
Assign a new region for under - constrained symbolic execution .
def assign(self, dst_addr_ast):
        """
        Assign a new region for under-constrained symbolic execution.

        :param dst_addr_ast: the symbolic AST which address of the new allocated region will be assigned to.
        :return: as ast of memory address that points to a new region
        """

        if dst_addr_ast.uc_alloc_depth > self._max_alloc_depth:
            raise SimUCManagerAllocationError('Current allocation depth %d is greater than the cap (%d)' % \
                (dst_addr_ast.uc_alloc_depth, self._max_alloc_depth))

        abs_addr = self._region_base + self._pos
        ptr = self.state.solver.BVV(abs_addr, self.state.arch.bits)
        self._pos += self._region_size

        self._alloc_depth_map[(abs_addr - self._region_base) // self._region_size] = dst_addr_ast.uc_alloc_depth

        l.debug("Assigned new memory region %s", ptr)
        return ptr
def assign ( self , dst_addr_ast ) : if dst_addr_ast . uc_alloc_depth > self . _max_alloc_depth : raise SimUCManagerAllocationError ( 'Current allocation depth %d is greater than the cap (%d)' % ( dst_addr_ast . uc_alloc_depth , self . _max_alloc_depth ) ) abs_addr = self . _region_base + self . _pos ptr = self . state . solver . BVV ( abs_addr , self . state . arch . bits ) self . _pos += self . _region_size self . _alloc_depth_map [ ( abs_addr - self . _region_base ) // self . _region_size ] = dst_addr_ast . uc_alloc_depth l . debug ( "Assigned new memory region %s" , ptr ) return ptr