Message ID | 20160701174036.90598-2-jhb@FreeBSD.org |
---|---|
State | New |
Headers | show |
On Fri, Jul 1, 2016 at 6:40 PM, John Baldwin <jhb@freebsd.org> wrote: > Since CORE_ADDR is unsigned, this value can never be negative. > score7_malloc_and_get_memblock is called like this, /* Allocate MEMBLOCK if PC - STARTADDR > 0. */ memblock_ptr = memblock = score7_malloc_and_get_memblock (startaddr, pc - startaddr); and startaddr is got by find_pc_partial_function find_pc_partial_function (pc, NULL, &start_addr, NULL); so pc >= startaddr, so size is >= 0. Your patch is right to me.
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 58c9c78..fef34e2 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2016-07-01 John Baldwin <jhb@FreeBSD.org> + * score-tdep.c (score7_malloc_and_get_memblock): Remove check for + negative size. + +2016-07-01 John Baldwin <jhb@FreeBSD.org> + * fbsd-nat.c (struct fbsd_fork_child_info): Rename to ... (struct fbsd_fork_info): ... this. (struct fbsd_fork_info) <child>: Rename to ... diff --git a/gdb/score-tdep.c b/gdb/score-tdep.c index 0d817f8..8e08d05 100644 --- a/gdb/score-tdep.c +++ b/gdb/score-tdep.c @@ -813,13 +813,7 @@ score7_malloc_and_get_memblock (CORE_ADDR addr, CORE_ADDR size) int ret; gdb_byte *memblock = NULL; - if (size < 0) - { - error (_("Error: malloc size < 0 in file:%s, line:%d!"), - __FILE__, __LINE__); - return NULL; - } - else if (size == 0) + if (size == 0) return NULL; memblock = (gdb_byte *) xmalloc (size);