summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/dwarf2/abbrev.c5
-rw-r--r--gdbsupport/ChangeLog5
-rw-r--r--gdbsupport/btrace-common.cc3
4 files changed, 15 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 67aa8721421..d3873da04b4 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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.
diff --git a/gdb/dwarf2/abbrev.c b/gdb/dwarf2/abbrev.c
index 59ff138b33d..b85018060fa 100644
--- a/gdb/dwarf2/abbrev.c
+++ b/gdb/dwarf2/abbrev.c
@@ -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);
diff --git a/gdbsupport/ChangeLog b/gdbsupport/ChangeLog
index 1d27971f5cc..86233e8d0ef 100644
--- a/gdbsupport/ChangeLog
+++ b/gdbsupport/ChangeLog
@@ -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.
diff --git a/gdbsupport/btrace-common.cc b/gdbsupport/btrace-common.cc
index 7d4f6424c82..e8b24db7d53 100644
--- a/gdbsupport/btrace-common.cc
+++ b/gdbsupport/btrace-common.cc
@@ -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);