* dwarf2-frame.c (read_encoded_value): Correctly calculate number
authorMark Kettenis <kettenis@gnu.org>
Sat, 20 Nov 2004 10:10:17 +0000 (10:10 +0000)
committerMark Kettenis <kettenis@gnu.org>
Sat, 20 Nov 2004 10:10:17 +0000 (10:10 +0000)
of bytes read for aligned LEB128 encodings.

gdb/ChangeLog
gdb/dwarf2-frame.c

index 904af440f20df4367301b29115d2a0d3e04ee99c..512b841e9fcb8999bd7e0a42fa17fa8e10aa06df 100644 (file)
@@ -1,3 +1,8 @@
+2004-11-20  Mark Kettenis  <kettenis@gnu.org>
+
+       * dwarf2-frame.c (read_encoded_value): Correctly calculate number
+       of bytes read for aligned LEB128 encodings.
+
 2004-11-19  Mark Kettenis  <kettenis@gnu.org>
 
        * bsd-kvm.c (bsd_kvm_pcb_cmd): Cast return value from
index 03984e277ca3f717e9d44d534670dd5ccb619ce0..fc0ac8b709eb996f759a7efcb096d668b47824af 100644 (file)
@@ -1176,7 +1176,7 @@ read_encoded_value (struct comp_unit *unit, unsigned char encoding,
       {
        ULONGEST value;
        unsigned char *end_buf = buf + (sizeof (value) + 1) * 8 / 7;
-       *bytes_read_ptr = read_uleb128 (buf, end_buf, &value) - buf;
+       *bytes_read_ptr += read_uleb128 (buf, end_buf, &value) - buf;
        return base + value;
       }
     case DW_EH_PE_udata2:
@@ -1192,7 +1192,7 @@ read_encoded_value (struct comp_unit *unit, unsigned char encoding,
       {
        LONGEST value;
        char *end_buf = buf + (sizeof (value) + 1) * 8 / 7;
-       *bytes_read_ptr = read_sleb128 (buf, end_buf, &value) - buf;
+       *bytes_read_ptr += read_sleb128 (buf, end_buf, &value) - buf;
        return base + value;
       }
     case DW_EH_PE_sdata2: