From 9fcc34577ed663db6143053cd0bf0c271bb6a3e2 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 25 May 2020 19:29:22 -0700 Subject: [PATCH] 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. --- 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 + + PR gas/26041 + * config/tc-cr16.c (md_assemble): Use memmove to concatenate + 2 overlapping strings. + 2020-05-25 H.J. Lu * 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 -- 2.30.2