From 692d697cc3b530443949de60c507a4038b02db01 Mon Sep 17 00:00:00 2001 From: Bartlomiej Grzelewski Date: Fri, 27 Mar 2020 11:24:42 +0000 Subject: [PATCH] elm_atspi_bridge: fix bugs reported by coverity Make sure we free allocated resources in the error path. Prevent usage of uninitilized value. Signed-off-by: Bartlomiej Grzelewski Reviewed-by: Stefan Schmidt Differential Revision: https://phab.enlightenment.org/D11607 --- src/lib/elementary/elm_atspi_bridge.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/lib/elementary/elm_atspi_bridge.c b/src/lib/elementary/elm_atspi_bridge.c index 2c34f99635..1a1ccc60a6 100644 --- a/src/lib/elementary/elm_atspi_bridge.c +++ b/src/lib/elementary/elm_atspi_bridge.c @@ -1365,11 +1365,12 @@ _text_string_at_offset_get(const Eldbus_Service_Interface *iface, const Eldbus_M str = str ? str : strdup(""); ret = eldbus_message_method_return_new(msg); - EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); + EINA_SAFETY_ON_NULL_GOTO(ret, cleanup); eldbus_message_arguments_append(ret, "sii", str, start, end); - free(str); +cleanup: + free(str); return ret; } @@ -1409,11 +1410,12 @@ _text_text_get(const Eldbus_Service_Interface *iface, const Eldbus_Message *msg) str = str ? str : strdup(""); Eldbus_Message *ret = eldbus_message_method_return_new(msg); - EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); + EINA_SAFETY_ON_NULL_GOTO(ret, cleanup); + eldbus_message_arguments_append(ret, "s", str); +cleanup: free(str); - return ret; } @@ -1570,9 +1572,10 @@ _text_attribute_value_get(const Eldbus_Service_Interface *iface, const Eldbus_Me } ret = eldbus_message_method_return_new(msg); - EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); + EINA_SAFETY_ON_NULL_GOTO(ret, cleanup); eldbus_message_arguments_append(ret, "siib", value ? value : "", start, end, res); +cleanup: free(value); return ret; }