X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fat-spi2-atk.git;a=blobdiff_plain;f=atk-adaptor%2Fadaptors%2Ftext-adaptor.c;h=80bb9214ea466bc1a0c7977427764a5899b9d6e0;hp=bd9a4c68835c4b888002207c97edfb8fb51a606e;hb=712be11a0347c9d60a9a2487eed1c05520fe3459;hpb=cb2523a5b191d6d3a5ee27869c5aec41e0a8213d 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; }