--- a/src/x86dasm/dis-buf.c Mon Jul 21 00:08:34 2008 +0000 +++ b/src/x86dasm/dis-buf.c Sun Dec 20 21:01:03 2009 +1000 @@ -31,14 +31,8 @@ struct disassemble_info *info; { unsigned int opb = info->octets_per_byte; - unsigned int end_addr_offset = length / opb; - unsigned int max_addr_offset = info->buffer_length / opb; - unsigned int octets = (memaddr - info->buffer_vma) * opb; + uintptr_t octets = memaddr * opb; - if (memaddr < info->buffer_vma - || memaddr - info->buffer_vma + end_addr_offset > max_addr_offset) - /* Out of bounds. Use EIO because GDB uses it. */ - return EIO; memcpy (myaddr, info->buffer + octets, length); return 0;