From 1bb068d16224b2e0d912756c9d95f6fd59273280 Mon Sep 17 00:00:00 2001 From: Eric Bezault Date: Mon, 5 Jan 2026 10:10:21 +0100 Subject: [PATCH] Fixed potential buffer overflow in EiffelVision GTK binding. See https://support.eiffel.com/report_detail/19969 --- .../vision2/implementation/gtk3/Clib/ev_c_util.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/Src/library/vision2/implementation/gtk3/Clib/ev_c_util.c b/Src/library/vision2/implementation/gtk3/Clib/ev_c_util.c index adf6aff97c9..5b5f5ec53cf 100644 --- a/Src/library/vision2/implementation/gtk3/Clib/ev_c_util.c +++ b/Src/library/vision2/implementation/gtk3/Clib/ev_c_util.c @@ -80,16 +80,12 @@ void ev_gtk_log ( fatal = TRUE; } - if ( strlen (log_domain) + strlen (level) + strlen (message) + 2 > 999 ) - { - if ( strlen (log_domain) + strlen (level) > 999 ) - sprintf (buf, "%s-%s\n", log_domain, level); - else - sprintf (buf, "GTK-%s\n", level); - - } - else + if ( strlen (log_domain) + strlen (level) + strlen (message) + 2 < 1000 ) sprintf (buf, "%s-%s %s", log_domain, level, message); + else if ( strlen (log_domain) + strlen (level) + 1 < 1000 ) + sprintf (buf, "%s-%s\n", log_domain, level); + else + sprintf (buf, "GTK-%s\n", level); printf ("%s\n", buf); if (fatal && a_debug_mode > 1)