mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-26 09:08:59 +00:00
Don't pass NULL to memcpy in gdb
I compiled gdb with -fsanitize=undefined and ran the test suite. A couple of reports came from passing NULL to memcpy, e.g.: [...]btrace-common.cc:176:13: runtime error: null pointer passed as argument 2, which is declared to never be null While it would be better to fix this in the standard, in the meantime it seems easy to avoid this error. gdb/ChangeLog 2020-03-31 Tom Tromey <tromey@adacore.com> * dwarf2/abbrev.c (abbrev_table::read): Conditionally call memcpy. gdbsupport/ChangeLog 2020-03-31 Tom Tromey <tromey@adacore.com> * btrace-common.cc (btrace_data_append): Conditionally call memcpy.
This commit is contained in:
@@ -1,3 +1,8 @@
|
||||
2020-03-31 Tom Tromey <tromey@adacore.com>
|
||||
|
||||
* dwarf2/abbrev.c (abbrev_table::read): Conditionally call
|
||||
memcpy.
|
||||
|
||||
2020-03-30 Nelson Chu <nelson.chu@sifive.com>
|
||||
|
||||
* features/riscv/32bit-csr.xml: Regenerated.
|
||||
|
||||
@@ -168,8 +168,9 @@ abbrev_table::read (struct objfile *objfile,
|
||||
cur_abbrev->attrs =
|
||||
XOBNEWVEC (&abbrev_table->m_abbrev_obstack, struct attr_abbrev,
|
||||
cur_abbrev->num_attrs);
|
||||
memcpy (cur_abbrev->attrs, cur_attrs.data (),
|
||||
cur_abbrev->num_attrs * sizeof (struct attr_abbrev));
|
||||
if (!cur_attrs.empty ())
|
||||
memcpy (cur_abbrev->attrs, cur_attrs.data (),
|
||||
cur_abbrev->num_attrs * sizeof (struct attr_abbrev));
|
||||
|
||||
abbrev_table->add_abbrev (abbrev_number, cur_abbrev);
|
||||
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
2020-03-31 Tom Tromey <tromey@adacore.com>
|
||||
|
||||
* btrace-common.cc (btrace_data_append): Conditionally call
|
||||
memcpy.
|
||||
|
||||
2020-03-27 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||
|
||||
* create-version.sh: Resolve issues highlighted by shellcheck.
|
||||
|
||||
@@ -173,7 +173,8 @@ btrace_data_append (struct btrace_data *dst,
|
||||
size = src->variant.pt.size + dst->variant.pt.size;
|
||||
data = (gdb_byte *) xmalloc (size);
|
||||
|
||||
memcpy (data, dst->variant.pt.data, dst->variant.pt.size);
|
||||
if (dst->variant.pt.size > 0)
|
||||
memcpy (data, dst->variant.pt.data, dst->variant.pt.size);
|
||||
memcpy (data + dst->variant.pt.size, src->variant.pt.data,
|
||||
src->variant.pt.size);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user