summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorqiyao <qiyao>2012-09-28 00:25:22 +0000
committerqiyao <qiyao>2012-09-28 00:25:22 +0000
commit3c3fef5a6839146909bad99414439466935ce816 (patch)
tree1158d35a95f7b5684f8f113f702fd14e175570d5
parent9754cbfe721226a50cd89f1888ffc706775b06a0 (diff)
downloadgdb-3c3fef5a6839146909bad99414439466935ce816.tar.gz
gdb/
* mi/mi-main.c (mi_cmd_data_write_memory_bytes): Emit error when the length of content is not an even number.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/mi/mi-main.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index fe69ce6d134..4a60c081923 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2012-09-28 Yao Qi <yao@codesourcery.com>
+
+ * mi/mi-main.c (mi_cmd_data_write_memory_bytes): Emit error
+ when the length of content is not an even number.
+
2012-09-27 Tom Tromey <tromey@redhat.com>
Fix https://bugzilla.redhat.com/show_bug.cgi?id=849357
diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c
index f1d21bcf6eb..f73d4f8796b 100644
--- a/gdb/mi/mi-main.c
+++ b/gdb/mi/mi-main.c
@@ -1672,6 +1672,10 @@ mi_cmd_data_write_memory_bytes (char *command, char **argv, int argc)
addr = parse_and_eval_address (argv[0]);
cdata = argv[1];
+ if (strlen (cdata) % 2)
+ error (_("Hex-encoded '%s' must have an even number of characters."),
+ cdata);
+
len = strlen (cdata)/2;
data = xmalloc (len);