From 849e3403cd2d3db13bca23d2a01364709880abe6 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 19 Feb 2024 14:37:10 -0500 Subject: [PATCH] editable: Improve preconditions Check that the positions we're given make sense. --- gtk/gtkeditable.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gtk/gtkeditable.c b/gtk/gtkeditable.c index 242a5c8d8a..a3f838eb76 100644 --- a/gtk/gtkeditable.c +++ b/gtk/gtkeditable.c @@ -482,6 +482,8 @@ gtk_editable_insert_text (GtkEditable *editable, int *position) { g_return_if_fail (GTK_IS_EDITABLE (editable)); + g_return_if_fail (text != NULL); + g_return_if_fail (length >= -1); g_return_if_fail (position != NULL); if (length < 0) @@ -511,6 +513,8 @@ gtk_editable_delete_text (GtkEditable *editable, int end_pos) { g_return_if_fail (GTK_IS_EDITABLE (editable)); + g_return_if_fail (start_pos >= 0); + g_return_if_fail (end_pos == -1 || end_pos > start_pos); GTK_EDITABLE_GET_IFACE (editable)->do_delete_text (editable, start_pos, end_pos); } @@ -544,6 +548,8 @@ gtk_editable_get_chars (GtkEditable *editable, int start_index,end_index; g_return_val_if_fail (GTK_IS_EDITABLE (editable), NULL); + g_return_val_if_fail (start_pos >= 0, NULL); + g_return_val_if_fail (end_pos == -1 || end_pos > start_pos, NULL); text = GTK_EDITABLE_GET_IFACE (editable)->get_text (editable); length = g_utf8_strlen (text, -1);