summaryrefslogtreecommitdiff
path: root/atspi/atspi-accessible.c
diff options
context:
space:
mode:
authorBartlomiej Grzelewski <b.grzelewski@samsung.com>2020-10-06 10:30:59 +0200
committerBartlomiej Grzelewski <b.grzelewski@samsung.com>2021-02-12 14:43:26 +0100
commit7fdbb0f96b464ad8753ec7468412dbb57c65fa45 (patch)
tree22ccbfc116438e38442846e41e5b1630c2a40cb2 /atspi/atspi-accessible.c
parentc6b2af03425bacfef25b08f4730d6f7628743681 (diff)
downloadat-spi2-core-7fdbb0f96b464ad8753ec7468412dbb57c65fa45.tar.gz
Fix memory leaks
* Release memory before pointer overwrite. * Reduce memory leaks reported in ref_accessible. * Remove leak connected with atspi_state_type_get_type. * Remove memory leak in atspi_event_listener_register_from_callback_full. * Reduce memory leaks reported on program exit. Change-Id: Ifde65dd44643f2e58442cf70809703f979436e09
Diffstat (limited to 'atspi/atspi-accessible.c')
-rw-r--r--atspi/atspi-accessible.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/atspi/atspi-accessible.c b/atspi/atspi-accessible.c
index 103e2da6..58d7316f 100644
--- a/atspi/atspi-accessible.c
+++ b/atspi/atspi-accessible.c
@@ -418,6 +418,7 @@ atspi_accessible_get_parent (AtspiAccessible *obj, GError **error)
}
dbus_message_iter_init (reply, &iter);
dbus_message_iter_recurse (&iter, &iter_variant);
+ g_object_unref (obj->accessible_parent);
obj->accessible_parent = _atspi_dbus_return_accessible_from_iter (&iter_variant);
dbus_message_unref (reply);
_atspi_accessible_add_cache (obj, ATSPI_CACHE_PARENT);
@@ -742,6 +743,8 @@ atspi_accessible_get_attributes (AtspiAccessible *obj, GError **error)
{
message = _atspi_dbus_call_partial (obj, atspi_interface_accessible,
"GetAttributes", error, "");
+ g_clear_pointer (&(obj->attributes), g_hash_table_unref);
+
obj->attributes = _atspi_dbus_return_hash_from_message (message);
_atspi_accessible_add_cache (obj, ATSPI_CACHE_ATTRIBUTES);
}