From: Alan Modra Date: Thu, 10 Sep 2020 04:42:52 +0000 (+0930) Subject: sprintf arg overlaps destination X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=23bef3fea380f383f910fd48f9d4f5633ee0d366;p=binutils-gdb.git sprintf arg overlaps destination * csky-dis.c (csky_output_operand): Don't sprintf str to itself. --- diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index bd5a284949d..cbd62b786d5 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,7 @@ +2020-09-10 Alan Modra + + * csky-dis.c (csky_output_operand): Don't sprintf str to itself. + 2020-09-07 Cooper Qu * csky-opc.h (csky_v2_opcodes): Change mvtc and mulsw's diff --git a/opcodes/csky-dis.c b/opcodes/csky-dis.c index 89f1c6bcb3d..78ff055c3db 100644 --- a/opcodes/csky-dis.c +++ b/opcodes/csky-dis.c @@ -647,8 +647,8 @@ csky_output_operand (char *str, struct operand const *oprnd, float f = 0; memcpy (&f, &value, sizeof (float)); - sprintf (str, "%s%f\t// imm9:%4d, imm4:%2d", str, f, imm8, imm4); - + sprintf (buf, "%f\t// imm9:%4d, imm4:%2d", f, imm8, imm4); + strcat (str, buf); break; } @@ -675,8 +675,8 @@ csky_output_operand (char *str, struct operand const *oprnd, } double d = 0; memcpy (&d, &dvalue, sizeof (double)); - sprintf (str, "%s%lf\t// imm9:%4ld, imm4:%2ld", str, d, imm8, imm4); - + sprintf (buf, "%lf\t// imm9:%4ld, imm4:%2ld", d, imm8, imm4); + strcat (str, buf); break; } case OPRND_TYPE_LABEL_WITH_BRACKET: