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 <[email protected]>
---
  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


Reply via email to