diff options
author | Ian Lance Taylor <ian@airs.com> | 1999-08-10 15:02:41 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1999-08-10 15:02:41 +0000 |
commit | 9c492adce5bb8cf1422878cfd5e294fabed9b2b9 (patch) | |
tree | 419178ae6de95be417169fccea6560534b0584d8 /opcodes/dis-buf.c | |
parent | 5499724a85d9cb03d56bb3aa7ef6519c00cfece8 (diff) | |
download | gdb-9c492adce5bb8cf1422878cfd5e294fabed9b2b9.zip gdb-9c492adce5bb8cf1422878cfd5e294fabed9b2b9.tar.gz gdb-9c492adce5bb8cf1422878cfd5e294fabed9b2b9.tar.bz2 |
From Wally Iimura <iimura@microunity.com>:
* dis-buf.c (buffer_read_memory): Rewrite expression to avoid
overflow at end of address space.
(generic_print_address): Use sprintf_vma.
Diffstat (limited to 'opcodes/dis-buf.c')
-rw-r--r-- | opcodes/dis-buf.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/opcodes/dis-buf.c b/opcodes/dis-buf.c index c6e5121..523fe72 100644 --- a/opcodes/dis-buf.c +++ b/opcodes/dis-buf.c @@ -30,7 +30,7 @@ buffer_read_memory (memaddr, myaddr, length, info) struct disassemble_info *info; { if (memaddr < info->buffer_vma - || memaddr + length > info->buffer_vma + info->buffer_length) + || memaddr - info->buffer_vma + length > info->buffer_length) /* Out of bounds. Use EIO because GDB uses it. */ return EIO; memcpy (myaddr, info->buffer + (memaddr - info->buffer_vma), length); @@ -67,7 +67,10 @@ generic_print_address (addr, info) bfd_vma addr; struct disassemble_info *info; { - (*info->fprintf_func) (info->stream, "0x%x", addr); + char buf[30]; + + sprintf_vma (buf, addr); + (*info->fprintf_func) (info->stream, "0x%s", buf); } /* Just concatenate the address as hex. This is included for |