Message ID | 20240411104340.6617-3-philmd@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | misc: Replace sprintf() by snprintf() due to macOS deprecation | expand |
On Thu, Apr 11, 2024 at 12:43 PM Philippe Mathieu-Daudé <philmd@linaro.org> wrote: > > sprintf() is deprecated on Darwin since macOS 13.0 / XCode 14.1, > resulting in painful developper experience. Use snprintf() instead. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Edgar E. Iglesias <edgar.iglesias@amd.com> > --- > disas/microblaze.c | 25 ++++++++++++++++--------- > 1 file changed, 16 insertions(+), 9 deletions(-) > > diff --git a/disas/microblaze.c b/disas/microblaze.c > index 0b89b9c4fa..49a4c0fd40 100644 > --- a/disas/microblaze.c > +++ b/disas/microblaze.c > @@ -600,7 +600,8 @@ static char * > get_field (long instr, long mask, unsigned short low) > { > char tmpstr[25]; > - sprintf(tmpstr, "%s%d", register_prefix, (int)((instr & mask) >> low)); > + snprintf(tmpstr, sizeof(tmpstr), "%s%d", register_prefix, > + (int)((instr & mask) >> low)); > return(strdup(tmpstr)); > } > > @@ -608,7 +609,8 @@ static char * > get_field_imm (long instr) > { > char tmpstr[25]; > - sprintf(tmpstr, "%d", (short)((instr & IMM_MASK) >> IMM_LOW)); > + snprintf(tmpstr, sizeof(tmpstr), "%d", > + (short)((instr & IMM_MASK) >> IMM_LOW)); > return(strdup(tmpstr)); > } > > @@ -616,7 +618,8 @@ static char * > get_field_imm5 (long instr) > { > char tmpstr[25]; > - sprintf(tmpstr, "%d", (short)((instr & IMM5_MASK) >> IMM_LOW)); > + snprintf(tmpstr, sizeof(tmpstr), "%d", > + (short)((instr & IMM5_MASK) >> IMM_LOW)); > return(strdup(tmpstr)); > } > > @@ -624,7 +627,8 @@ static char * > get_field_rfsl (long instr) > { > char tmpstr[25]; > - sprintf(tmpstr, "%s%d", fsl_register_prefix, (short)((instr & RFSL_MASK) >> IMM_LOW)); > + snprintf(tmpstr, sizeof(tmpstr), "%s%d", fsl_register_prefix, > + (short)((instr & RFSL_MASK) >> IMM_LOW)); > return(strdup(tmpstr)); > } > > @@ -632,7 +636,8 @@ static char * > get_field_imm15 (long instr) > { > char tmpstr[25]; > - sprintf(tmpstr, "%d", (short)((instr & IMM15_MASK) >> IMM_LOW)); > + snprintf(tmpstr, sizeof(tmpstr), "%d", > + (short)((instr & IMM15_MASK) >> IMM_LOW)); > return(strdup(tmpstr)); > } > > @@ -641,7 +646,8 @@ static char * > get_field_unsigned_imm (long instr) > { > char tmpstr[25]; > - sprintf(tmpstr, "%d", (int)((instr & IMM_MASK) >> IMM_LOW)); > + snprintf(tmpstr, sizeof(tmpstr), "%d", > + (int)((instr & IMM_MASK) >> IMM_LOW)); > return(strdup(tmpstr)); > } > #endif > @@ -653,7 +659,8 @@ get_field_unsigned_imm (long instr) > { > char tmpstr[25]; > > - sprintf(tmpstr, "%s%s", register_prefix, (((instr & IMM_MASK) >> IMM_LOW) & REG_MSR_MASK) == 0 ? "pc" : "msr"); > + snprintf(tmpstr, sizeof(tmpstr), "%s%s", register_prefix, > + (((instr & IMM_MASK) >> IMM_LOW) & REG_MSR_MASK) == 0 ? "pc" : "msr"); > > return(strdup(tmpstr)); > } > @@ -709,7 +716,7 @@ get_field_special(long instr, const struct op_code_struct *op) > default : > { > if ( ((((instr & IMM_MASK) >> IMM_LOW) ^ op->immval_mask) & 0xE000) == REG_PVR_MASK) { > - sprintf(tmpstr, "%s%u", pvr_register_prefix, > + snprintf(tmpstr, sizeof(tmpstr), "%s%u", pvr_register_prefix, > (unsigned short)(((instr & IMM_MASK) >> IMM_LOW) ^ > op->immval_mask) ^ REG_PVR_MASK); > return(strdup(tmpstr)); > @@ -720,7 +727,7 @@ get_field_special(long instr, const struct op_code_struct *op) > break; > } > > - sprintf(tmpstr, "%s%s", register_prefix, spr); > + snprintf(tmpstr, sizeof(tmpstr), "%s%s", register_prefix, spr); > return(strdup(tmpstr)); > } > > -- > 2.41.0 >
On 4/11/24 03:43, Philippe Mathieu-Daudé wrote: > sprintf() is deprecated on Darwin since macOS 13.0 / XCode 14.1, > resulting in painful developper experience. Use snprintf() instead. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> > --- > disas/microblaze.c | 25 ++++++++++++++++--------- > 1 file changed, 16 insertions(+), 9 deletions(-) > > diff --git a/disas/microblaze.c b/disas/microblaze.c > index 0b89b9c4fa..49a4c0fd40 100644 > --- a/disas/microblaze.c > +++ b/disas/microblaze.c > @@ -600,7 +600,8 @@ static char * > get_field (long instr, long mask, unsigned short low) > { > char tmpstr[25]; > - sprintf(tmpstr, "%s%d", register_prefix, (int)((instr & mask) >> low)); > + snprintf(tmpstr, sizeof(tmpstr), "%s%d", register_prefix, > + (int)((instr & mask) >> low)); > return(strdup(tmpstr)); Any s*printf followed by allocation should use g_strdup_printf to do it in one step. r~
diff --git a/disas/microblaze.c b/disas/microblaze.c index 0b89b9c4fa..49a4c0fd40 100644 --- a/disas/microblaze.c +++ b/disas/microblaze.c @@ -600,7 +600,8 @@ static char * get_field (long instr, long mask, unsigned short low) { char tmpstr[25]; - sprintf(tmpstr, "%s%d", register_prefix, (int)((instr & mask) >> low)); + snprintf(tmpstr, sizeof(tmpstr), "%s%d", register_prefix, + (int)((instr & mask) >> low)); return(strdup(tmpstr)); } @@ -608,7 +609,8 @@ static char * get_field_imm (long instr) { char tmpstr[25]; - sprintf(tmpstr, "%d", (short)((instr & IMM_MASK) >> IMM_LOW)); + snprintf(tmpstr, sizeof(tmpstr), "%d", + (short)((instr & IMM_MASK) >> IMM_LOW)); return(strdup(tmpstr)); } @@ -616,7 +618,8 @@ static char * get_field_imm5 (long instr) { char tmpstr[25]; - sprintf(tmpstr, "%d", (short)((instr & IMM5_MASK) >> IMM_LOW)); + snprintf(tmpstr, sizeof(tmpstr), "%d", + (short)((instr & IMM5_MASK) >> IMM_LOW)); return(strdup(tmpstr)); } @@ -624,7 +627,8 @@ static char * get_field_rfsl (long instr) { char tmpstr[25]; - sprintf(tmpstr, "%s%d", fsl_register_prefix, (short)((instr & RFSL_MASK) >> IMM_LOW)); + snprintf(tmpstr, sizeof(tmpstr), "%s%d", fsl_register_prefix, + (short)((instr & RFSL_MASK) >> IMM_LOW)); return(strdup(tmpstr)); } @@ -632,7 +636,8 @@ static char * get_field_imm15 (long instr) { char tmpstr[25]; - sprintf(tmpstr, "%d", (short)((instr & IMM15_MASK) >> IMM_LOW)); + snprintf(tmpstr, sizeof(tmpstr), "%d", + (short)((instr & IMM15_MASK) >> IMM_LOW)); return(strdup(tmpstr)); } @@ -641,7 +646,8 @@ static char * get_field_unsigned_imm (long instr) { char tmpstr[25]; - sprintf(tmpstr, "%d", (int)((instr & IMM_MASK) >> IMM_LOW)); + snprintf(tmpstr, sizeof(tmpstr), "%d", + (int)((instr & IMM_MASK) >> IMM_LOW)); return(strdup(tmpstr)); } #endif @@ -653,7 +659,8 @@ get_field_unsigned_imm (long instr) { char tmpstr[25]; - sprintf(tmpstr, "%s%s", register_prefix, (((instr & IMM_MASK) >> IMM_LOW) & REG_MSR_MASK) == 0 ? "pc" : "msr"); + snprintf(tmpstr, sizeof(tmpstr), "%s%s", register_prefix, + (((instr & IMM_MASK) >> IMM_LOW) & REG_MSR_MASK) == 0 ? "pc" : "msr"); return(strdup(tmpstr)); } @@ -709,7 +716,7 @@ get_field_special(long instr, const struct op_code_struct *op) default : { if ( ((((instr & IMM_MASK) >> IMM_LOW) ^ op->immval_mask) & 0xE000) == REG_PVR_MASK) { - sprintf(tmpstr, "%s%u", pvr_register_prefix, + snprintf(tmpstr, sizeof(tmpstr), "%s%u", pvr_register_prefix, (unsigned short)(((instr & IMM_MASK) >> IMM_LOW) ^ op->immval_mask) ^ REG_PVR_MASK); return(strdup(tmpstr)); @@ -720,7 +727,7 @@ get_field_special(long instr, const struct op_code_struct *op) break; } - sprintf(tmpstr, "%s%s", register_prefix, spr); + snprintf(tmpstr, sizeof(tmpstr), "%s%s", register_prefix, spr); return(strdup(tmpstr)); }
sprintf() is deprecated on Darwin since macOS 13.0 / XCode 14.1, resulting in painful developper experience. Use snprintf() instead. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- disas/microblaze.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-)