diff options
author | Bartlomiej Grzelewski <b.grzelewski@samsung.com> | 2020-03-27 11:24:42 +0000 |
---|---|---|
committer | Stefan Schmidt <s.schmidt@samsung.com> | 2020-03-27 13:15:48 +0100 |
commit | 692d697cc3b530443949de60c507a4038b02db01 (patch) | |
tree | 3a9b9bea4cd7edcadafee5076580ee5f87560d2f | |
parent | 3feacb2b66c1768ab55b0496385266bf879a7657 (diff) | |
download | efl-692d697cc3b530443949de60c507a4038b02db01.tar.gz |
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 <b.grzelewski@samsung.com>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11607
-rw-r--r-- | src/lib/elementary/elm_atspi_bridge.c | 13 |
1 files 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; } |