Rev 5221 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5221 | Rev 6324 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | /* Disassemble from a buffer, for GNU. |
1 | /* Disassemble from a buffer, for GNU. |
2 | Copyright 1993, 1994, 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2005, |
- | |
3 | 2007, 2009, 2010 Free Software Foundation, Inc. |
2 | Copyright (C) 1993-2015 Free Software Foundation, Inc. |
Line 4... | Line 3... | ||
4 | 3 | ||
Line 5... | Line 4... | ||
5 | This file is part of the GNU opcodes library. |
4 | This file is part of the GNU opcodes library. |
6 | 5 | ||
Line 37... | Line 36... | ||
37 | unsigned int max_addr_offset = info->buffer_length / opb; |
36 | unsigned int max_addr_offset = info->buffer_length / opb; |
38 | unsigned int octets = (memaddr - info->buffer_vma) * opb; |
37 | unsigned int octets = (memaddr - info->buffer_vma) * opb; |
Line 39... | Line 38... | ||
39 | 38 | ||
40 | if (memaddr < info->buffer_vma |
39 | if (memaddr < info->buffer_vma |
41 | || memaddr - info->buffer_vma > max_addr_offset |
40 | || memaddr - info->buffer_vma > max_addr_offset |
- | 41 | || memaddr - info->buffer_vma + end_addr_offset > max_addr_offset |
|
- | 42 | || (info->stop_vma && (memaddr >= info->stop_vma |
|
42 | || memaddr - info->buffer_vma + end_addr_offset > max_addr_offset) |
43 | || memaddr + end_addr_offset > info->stop_vma))) |
43 | /* Out of bounds. Use EIO because GDB uses it. */ |
44 | /* Out of bounds. Use EIO because GDB uses it. */ |
44 | return EIO; |
45 | return EIO; |
Line 45... | Line 46... | ||
45 | memcpy (myaddr, info->buffer + octets, length); |
46 | memcpy (myaddr, info->buffer + octets, length); |