+2014-12-09 Chen Gang <gang.chen.5i5j@gmail.com>
+
+ * config/tc-tic4x.c (md_assemble): Ensure insn->name is zero
+ terminated. Simplify concatenation of parallel insn.
+
2014-12-06 Eric Botcazou <ebotcazou@adacore.com>
* configure.tgt: Add Visium support.
char *s;
int i;
int parsed = 0;
+ size_t len;
tic4x_inst_t *inst; /* Instruction template. */
tic4x_inst_t *first_inst;
s++;
if (*s) /* Null terminate for hash_find. */
*s++ = '\0'; /* and skip past null. */
- strcat (insn->name, "_");
- strncat (insn->name, str, TIC4X_NAME_MAX - 1 - strlen (insn->name));
+ len = strlen (insn->name);
+ snprintf (insn->name + len, TIC4X_NAME_MAX - len, "_%s", str);
insn->operands[insn->num_operands++].mode = M_PARALLEL;
s++;
if (*s) /* Null terminate for hash_find. */
*s++ = '\0'; /* and skip past null. */
- strncpy (insn->name, str, TIC4X_NAME_MAX - 3);
+ strncpy (insn->name, str, TIC4X_NAME_MAX - 1);
+ insn->name[TIC4X_NAME_MAX - 1] = '\0';
if ((i = tic4x_operands_parse (s, insn->operands, 0)) < 0)
{