mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-20 18:08:24 +08:00
Ensure zero termination of tic4x insn buffer
* config/tc-tic4x.c (md_assemble): Ensure insn->name is zero terminated. Simplify concatenation of parallel insn.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
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>
|
2014-12-06 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
* configure.tgt: Add Visium support.
|
* configure.tgt: Add Visium support.
|
||||||
|
@ -2417,6 +2417,7 @@ md_assemble (char *str)
|
|||||||
char *s;
|
char *s;
|
||||||
int i;
|
int i;
|
||||||
int parsed = 0;
|
int parsed = 0;
|
||||||
|
size_t len;
|
||||||
tic4x_inst_t *inst; /* Instruction template. */
|
tic4x_inst_t *inst; /* Instruction template. */
|
||||||
tic4x_inst_t *first_inst;
|
tic4x_inst_t *first_inst;
|
||||||
|
|
||||||
@ -2455,8 +2456,8 @@ md_assemble (char *str)
|
|||||||
s++;
|
s++;
|
||||||
if (*s) /* Null terminate for hash_find. */
|
if (*s) /* Null terminate for hash_find. */
|
||||||
*s++ = '\0'; /* and skip past null. */
|
*s++ = '\0'; /* and skip past null. */
|
||||||
strcat (insn->name, "_");
|
len = strlen (insn->name);
|
||||||
strncat (insn->name, str, TIC4X_NAME_MAX - 1 - strlen (insn->name));
|
snprintf (insn->name + len, TIC4X_NAME_MAX - len, "_%s", str);
|
||||||
|
|
||||||
insn->operands[insn->num_operands++].mode = M_PARALLEL;
|
insn->operands[insn->num_operands++].mode = M_PARALLEL;
|
||||||
|
|
||||||
@ -2518,7 +2519,8 @@ md_assemble (char *str)
|
|||||||
s++;
|
s++;
|
||||||
if (*s) /* Null terminate for hash_find. */
|
if (*s) /* Null terminate for hash_find. */
|
||||||
*s++ = '\0'; /* and skip past null. */
|
*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)
|
if ((i = tic4x_operands_parse (s, insn->operands, 0)) < 0)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user