diff options
author | Mike Gorse <mgorse@suse.com> | 2013-11-20 14:45:30 -0600 |
---|---|---|
committer | Mike Gorse <mgorse@suse.com> | 2013-11-20 14:45:30 -0600 |
commit | 712be11a0347c9d60a9a2487eed1c05520fe3459 (patch) | |
tree | 9e7378a534c3165c451f6d442a9e7aaca7f7a853 | |
parent | cb2523a5b191d6d3a5ee27869c5aec41e0a8213d (diff) | |
download | at-spi2-atk-712be11a0347c9d60a9a2487eed1c05520fe3459.tar.gz |
Fix GetBoundedRanges
-rw-r--r-- | atk-adaptor/adaptors/text-adaptor.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/atk-adaptor/adaptors/text-adaptor.c b/atk-adaptor/adaptors/text-adaptor.c index bd9a4c6..80bb921 100644 --- a/atk-adaptor/adaptors/text-adaptor.c +++ b/atk-adaptor/adaptors/text-adaptor.c @@ -738,7 +738,8 @@ impl_GetBoundedRanges (DBusConnection * bus, DBusMessage * message, (&iter, DBUS_TYPE_ARRAY, "(iisv)", &array)) { int len; - for (len = 0; len < MAXRANGELEN && range_list[len]; ++len) + int count = (range_list ? MAXRANGELEN : 0); + for (len = 0; len < count && range_list[len]; ++len) { if (dbus_message_iter_open_container (&array, DBUS_TYPE_STRUCT, NULL, &struc)) @@ -762,10 +763,16 @@ impl_GetBoundedRanges (DBusConnection * bus, DBusMessage * message, dbus_message_iter_close_container (&struc, &variant); } dbus_message_iter_close_container (&array, &struc); + g_free (range_list[len]->content); + g_free (range_list[len]); } } dbus_message_iter_close_container (&iter, &array); } + + if (range_list) + g_free (range_list); + return reply; } |