[gtk/fix-large-compose-file: 2/2] Reject compose tables that are too large




commit 2b183a9f4e90b7348380dab4ecd8141f608d8ae4
Author: Matthias Clasen <mclasen redhat com>
Date:   Mon May 2 16:03:45 2022 +0800

    Reject compose tables that are too large
    
    The fixed-size format we use currently can only handle up
    to 32768 bytes of string data. If a compose file contains
    more, reject it with a warning.
    
    Fixes: #4873

 gtk/gtkcomposetable.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
---
diff --git a/gtk/gtkcomposetable.c b/gtk/gtkcomposetable.c
index 4ec357fc97..eda1e5ad5b 100644
--- a/gtk/gtkcomposetable.c
+++ b/gtk/gtkcomposetable.c
@@ -942,7 +942,12 @@ parser_get_compose_table (GtkComposeParser *parser)
           if (char_data->len > 0)
             g_string_append_c (char_data, 0);
 
-          g_assert (char_data->len < 0x8000);
+          if (char_data->len >= 0x8000)
+            {
+              g_warning ("GTK can't handle compose tables this large (%s)", parser->compose_file ? 
parser->compose_file : "");
+              g_string_free (char_data, TRUE);
+              return NULL;
+            }
 
           encoded_value = (guint16) (char_data->len | 0x8000);
           g_string_append (char_data, value);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]