summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gorse <mgorse@suse.com>2013-11-20 14:45:30 -0600
committerMike Gorse <mgorse@suse.com>2013-11-20 14:45:30 -0600
commit712be11a0347c9d60a9a2487eed1c05520fe3459 (patch)
tree9e7378a534c3165c451f6d442a9e7aaca7f7a853
parentcb2523a5b191d6d3a5ee27869c5aec41e0a8213d (diff)
downloadat-spi2-atk-712be11a0347c9d60a9a2487eed1c05520fe3459.tar.gz
Fix GetBoundedRanges
-rw-r--r--atk-adaptor/adaptors/text-adaptor.c9
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;
}