From Wally Iimura <iimura@microunity.com>:
authorIan Lance Taylor <ian@airs.com>
Tue, 10 Aug 1999 15:02:41 +0000 (15:02 +0000)
committerIan Lance Taylor <ian@airs.com>
Tue, 10 Aug 1999 15:02:41 +0000 (15:02 +0000)
* dis-buf.c (buffer_read_memory): Rewrite expression to avoid
overflow at end of address space.
(generic_print_address): Use sprintf_vma.

opcodes/ChangeLog
opcodes/dis-buf.c

index 9f3cbe6a3d415d989deb4501d6eb929ab1bd1aec..19349c6feb4e8a01e346878c56b0df76cc672156 100644 (file)
@@ -1,3 +1,10 @@
+1999-08-10  Ian Lance Taylor  <ian@zembu.com>
+
+       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.
+
 1999-08-08  Ian Lance Taylor  <ian@zembu.com>
 
        * Makefile.am: Rename .dep* files to DEP*.  Change DEP variable to
index c6e512122eb076568b8b8124b8dcc6a3c8de6d25..523fe72789dbcfd939cd1cd13ed72e4562150d76 100644 (file)
@@ -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