[binutils-gdb] tc-cr16.c: Use memmove to concatenate 2 overlapping strings
H.J. Lu
hjl@sourceware.org
Tue May 26 02:39:58 GMT 2020
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=9fcc34577ed663db6143053cd0bf0c271bb6a3e2
commit 9fcc34577ed663db6143053cd0bf0c271bb6a3e2
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Mon May 25 19:29:22 2020 -0700
tc-cr16.c: Use memmove to concatenate 2 overlapping strings
PR gas/26041
* config/tc-cr16.c (md_assemble): Use memmove to concatenate
2 overlapping strings.
Diff:
---
gas/ChangeLog | 6 ++++++
gas/config/tc-cr16.c | 5 ++++-
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 96c78092a04..7aba149af9c 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
+2020-05-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR gas/26041
+ * config/tc-cr16.c (md_assemble): Use memmove to concatenate
+ 2 overlapping strings.
+
2020-05-25 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-cr16.c (md_convert_frag): Replace fragP->fr_literal
diff --git a/gas/config/tc-cr16.c b/gas/config/tc-cr16.c
index 901838398ec..951e9ac7f38 100644
--- a/gas/config/tc-cr16.c
+++ b/gas/config/tc-cr16.c
@@ -2560,8 +2560,11 @@ md_assemble (char *op)
if (streq ("cinv", op))
{
/* Validate the cinv options. */
+ unsigned int op_len, param_len;
check_cinv_options (param);
- strcat (op, param);
+ op_len = strlen (op);
+ param_len = strlen (param) + 1;
+ memmove (op + op_len, param, param_len);
}
/* MAPPING - SHIFT INSN, if imm4/imm16 positive values
More information about the Binutils-cvs
mailing list