From 867d3f7debdd35738701156969f24544c4b6c5ce Mon Sep 17 00:00:00 2001 From: Mike Gorse Date: Sun, 4 Dec 2011 12:51:39 -0600 Subject: [PATCH] BGO#665549: add sanity-check of atk_text_get_text parameters Have atk_text_get_text check that end_offset is either -1 or greater or equal to the start offset before passing the query to the toolkit. Fixes a gtk crash. Also document that an end position of -1 to atk_text_get_text indicates the end of the string --- atk/atktext.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/atk/atktext.c b/atk/atktext.c index a1e90de..086dd18 100755 --- a/atk/atktext.c +++ b/atk/atktext.c @@ -237,7 +237,7 @@ atk_text_base_init (AtkTextIface *class) * atk_text_get_text: * @text: an #AtkText * @start_offset: start position - * @end_offset: end position + * @end_offset: end position, or -1 for the end of the string. * * Gets the specified text. * @@ -255,7 +255,8 @@ atk_text_get_text (AtkText *text, iface = ATK_TEXT_GET_IFACE (text); - if (start_offset < 0 || end_offset < -1) + if (start_offset < 0 || end_offset < -1 || + (end_offset != -1 && end_offset < start_offset)) return NULL; if (iface->get_text) -- 2.7.4