diff mbox series

[v2] ui/console-vc: Silence warning about sprintf() on OpenBSD

Message ID 20241015112510.412471-1-thuth@redhat.com (mailing list archive)
State New, archived
Headers show
Series [v2] ui/console-vc: Silence warning about sprintf() on OpenBSD | expand

Commit Message

Thomas Huth Oct. 15, 2024, 11:25 a.m. UTC
The linker on OpenBSD complains:

 ld: warning: console-vc.c:824 (../src/ui/console-vc.c:824)([...]):
 warning: sprintf() is often misused, please use snprintf()

Using g_strdup_printf() is certainly better here, so let's switch
to that function instead.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 v2: Use g_strdup_printf() instead of snprintf()

 ui/console-vc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Marc-André Lureau Oct. 15, 2024, 11:30 a.m. UTC | #1
On Tue, Oct 15, 2024 at 3:25 PM Thomas Huth <thuth@redhat.com> wrote:
>
> The linker on OpenBSD complains:
>
>  ld: warning: console-vc.c:824 (../src/ui/console-vc.c:824)([...]):
>  warning: sprintf() is often misused, please use snprintf()
>
> Using g_strdup_printf() is certainly better here, so let's switch
> to that function instead.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>

> ---
>  v2: Use g_strdup_printf() instead of snprintf()
>
>  ui/console-vc.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/ui/console-vc.c b/ui/console-vc.c
> index 8393d532e7..53fcee88f4 100644
> --- a/ui/console-vc.c
> +++ b/ui/console-vc.c
> @@ -648,7 +648,7 @@ static void vc_putchar(VCChardev *vc, int ch)
>      QemuTextConsole *s = vc->console;
>      int i;
>      int x, y;
> -    char response[40];
> +    g_autofree char *response = NULL;
>
>      switch(vc->state) {
>      case TTY_STATE_NORM:
> @@ -821,7 +821,7 @@ static void vc_putchar(VCChardev *vc, int ch)
>                      break;
>                  case 6:
>                      /* report cursor position */
> -                    sprintf(response, "\033[%d;%dR",
> +                    response = g_strdup_printf("\033[%d;%dR",
>                             (s->y_base + s->y) % s->total_height + 1,
>                              s->x + 1);
>                      vc_respond_str(vc, response);
> --
> 2.47.0
>
Alex Bennée Oct. 15, 2024, 1 p.m. UTC | #2
Thomas Huth <thuth@redhat.com> writes:

> The linker on OpenBSD complains:
>
>  ld: warning: console-vc.c:824 (../src/ui/console-vc.c:824)([...]):
>  warning: sprintf() is often misused, please use snprintf()
>
> Using g_strdup_printf() is certainly better here, so let's switch
> to that function instead.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Richard Henderson Oct. 15, 2024, 2:47 p.m. UTC | #3
On 10/15/24 04:25, Thomas Huth wrote:
> The linker on OpenBSD complains:
> 
>   ld: warning: console-vc.c:824 (../src/ui/console-vc.c:824)([...]):
>   warning: sprintf() is often misused, please use snprintf()
> 
> Using g_strdup_printf() is certainly better here, so let's switch
> to that function instead.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   v2: Use g_strdup_printf() instead of snprintf()
> 
>   ui/console-vc.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/ui/console-vc.c b/ui/console-vc.c
> index 8393d532e7..53fcee88f4 100644
> --- a/ui/console-vc.c
> +++ b/ui/console-vc.c
> @@ -648,7 +648,7 @@ static void vc_putchar(VCChardev *vc, int ch)
>       QemuTextConsole *s = vc->console;
>       int i;
>       int x, y;
> -    char response[40];
> +    g_autofree char *response = NULL;
>   
>       switch(vc->state) {
>       case TTY_STATE_NORM:
> @@ -821,7 +821,7 @@ static void vc_putchar(VCChardev *vc, int ch)
>                       break;
>                   case 6:
>                       /* report cursor position */
> -                    sprintf(response, "\033[%d;%dR",
> +                    response = g_strdup_printf("\033[%d;%dR",
>                              (s->y_base + s->y) % s->total_height + 1,
>                               s->x + 1);
>                       vc_respond_str(vc, response);

Could be better by limiting the scope of the variable to this case.
But either way,

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


r~
Thomas Huth Oct. 15, 2024, 3:03 p.m. UTC | #4
On 15/10/2024 16.47, Richard Henderson wrote:
> On 10/15/24 04:25, Thomas Huth wrote:
>> The linker on OpenBSD complains:
>>
>>   ld: warning: console-vc.c:824 (../src/ui/console-vc.c:824)([...]):
>>   warning: sprintf() is often misused, please use snprintf()
>>
>> Using g_strdup_printf() is certainly better here, so let's switch
>> to that function instead.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>>   v2: Use g_strdup_printf() instead of snprintf()
>>
>>   ui/console-vc.c | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/ui/console-vc.c b/ui/console-vc.c
>> index 8393d532e7..53fcee88f4 100644
>> --- a/ui/console-vc.c
>> +++ b/ui/console-vc.c
>> @@ -648,7 +648,7 @@ static void vc_putchar(VCChardev *vc, int ch)
>>       QemuTextConsole *s = vc->console;
>>       int i;
>>       int x, y;
>> -    char response[40];
>> +    g_autofree char *response = NULL;
>>       switch(vc->state) {
>>       case TTY_STATE_NORM:
>> @@ -821,7 +821,7 @@ static void vc_putchar(VCChardev *vc, int ch)
>>                       break;
>>                   case 6:
>>                       /* report cursor position */
>> -                    sprintf(response, "\033[%d;%dR",
>> +                    response = g_strdup_printf("\033[%d;%dR",
>>                              (s->y_base + s->y) % s->total_height + 1,
>>                               s->x + 1);
>>                       vc_respond_str(vc, response);
> 
> Could be better by limiting the scope of the variable to this case.

I tried that first, but then I need curly braces around the whole case block 
to avoid compiler warnings, which is ugly, too, so I decided to keep it at 
the top.

  Thomas
Michael Tokarev Oct. 18, 2024, 4:20 p.m. UTC | #5
15.10.2024 14:25, Thomas Huth wrote:
> The linker on OpenBSD complains:
> 
>   ld: warning: console-vc.c:824 (../src/ui/console-vc.c:824)([...]):
>   warning: sprintf() is often misused, please use snprintf()
> 
> Using g_strdup_printf() is certainly better here, so let's switch
> to that function instead.

Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>

Queued for qemu-trivial, thanks!

/mjt
diff mbox series

Patch

diff --git a/ui/console-vc.c b/ui/console-vc.c
index 8393d532e7..53fcee88f4 100644
--- a/ui/console-vc.c
+++ b/ui/console-vc.c
@@ -648,7 +648,7 @@  static void vc_putchar(VCChardev *vc, int ch)
     QemuTextConsole *s = vc->console;
     int i;
     int x, y;
-    char response[40];
+    g_autofree char *response = NULL;
 
     switch(vc->state) {
     case TTY_STATE_NORM:
@@ -821,7 +821,7 @@  static void vc_putchar(VCChardev *vc, int ch)
                     break;
                 case 6:
                     /* report cursor position */
-                    sprintf(response, "\033[%d;%dR",
+                    response = g_strdup_printf("\033[%d;%dR",
                            (s->y_base + s->y) % s->total_height + 1,
                             s->x + 1);
                     vc_respond_str(vc, response);