cedric pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=fbcdeb2a485fedb983aa71115f66a71f5002ef4d
commit fbcdeb2a485fedb983aa71115f66a71f5002ef4d Author: Hosang Kim <hosang12....@samsung.com> Date: Wed Jun 17 14:49:40 2015 +0200 atspi_bridge: fix memory leak issue Summary: Call eldbus_message_unref to free Eldbus_Message structure. And delete unused Eldbus_Message variable. CID-386474 CID-391869 CID-394549 Reviewers: raster, woohyun, CHAN, Hermet, seoz, lukasz.stanislawski, cedric Reviewed By: cedric Differential Revision: https://phab.enlightenment.org/D2690 Signed-off-by: Cedric BAIL <ced...@osg.samsung.com> --- src/lib/elm_atspi_bridge.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/lib/elm_atspi_bridge.c b/src/lib/elm_atspi_bridge.c index 4bf6673..c7a6a15 100644 --- a/src/lib/elm_atspi_bridge.c +++ b/src/lib/elm_atspi_bridge.c @@ -1291,7 +1291,10 @@ _text_character_extents_get(const Eldbus_Service_Interface *iface, const Eldbus_ eo_do(obj, res = elm_interface_atspi_text_character_extents_get(offset, screen_coords, &rect)); if (!res) - return eldbus_message_error_new(msg, "org.freedesktop.DBus.Error.Failed", "Unable to get character extents."); + { + eldbus_message_unref(ret); + return eldbus_message_error_new(msg, "org.freedesktop.DBus.Error.Failed", "Unable to get character extents."); + } eldbus_message_arguments_append(ret, "iiii", rect.x, rect.y, rect.w, rect.h); return ret; @@ -1448,7 +1451,10 @@ _text_range_extents_get(const Eldbus_Service_Interface *iface, const Eldbus_Mess screen_coords = type == ATSPI_COORD_TYPE_SCREEN ? EINA_TRUE : EINA_FALSE; eo_do(obj, res = elm_interface_atspi_text_range_extents_get(screen_coords, start, end, &rect)); if (!res) - return eldbus_message_error_new(msg, "org.freedesktop.DBus.Error.Failed", "Can't get range extents."); + { + eldbus_message_unref(ret); + return eldbus_message_error_new(msg, "org.freedesktop.DBus.Error.Failed", "Can't get range extents."); + } eldbus_message_arguments_append(ret, "iiii", rect.x, rect.y, rect.w, rect.h); @@ -2871,7 +2877,6 @@ static Eina_Bool _selection_signal_send(void *data, Eo *obj EINA_UNUSED, const Eo_Event_Description *desc, void *event_info EINA_UNUSED) { const char *event_desc; - Eldbus_Message *msg; Eldbus_Service_Interface *selection = data; enum _Atspi_Object_Signals type; @@ -2892,9 +2897,6 @@ _selection_signal_send(void *data, Eo *obj EINA_UNUSED, const Eo_Event_Descripti return EINA_FALSE; } - msg = eldbus_service_signal_new(selection, type); - EINA_SAFETY_ON_NULL_RETURN_VAL(msg, EINA_FALSE); - _object_signal_send(selection, type, event_desc, 0, 0, "i", 0); return EINA_TRUE; --