diff --git a/gas/ChangeLog b/gas/ChangeLog index 96c78092a0..7aba149af9 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 901838398e..951e9ac7f3 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