stefan pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=692d697cc3b530443949de60c507a4038b02db01

commit 692d697cc3b530443949de60c507a4038b02db01
Author: Bartlomiej Grzelewski <[email protected]>
Date:   Fri Mar 27 11:24:42 2020 +0000

    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 <[email protected]>
    Reviewed-by: Stefan Schmidt <[email protected]>
    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;
 }

-- 


Reply via email to