cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=8fbd8bfe2a7dbc88510f03bbc56d3d434b6a259c

commit 8fbd8bfe2a7dbc88510f03bbc56d3d434b6a259c
Author: Cedric Bail <[email protected]>
Date:   Fri Nov 17 10:44:26 2017 -0800

    eina: fail with an Eina_Error on copy failure.
---
 src/lib/eina/eina_inline_value_util.x | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/src/lib/eina/eina_inline_value_util.x 
b/src/lib/eina/eina_inline_value_util.x
index 010465545f..c2d293e1e1 100644
--- a/src/lib/eina/eina_inline_value_util.x
+++ b/src/lib/eina/eina_inline_value_util.x
@@ -990,7 +990,11 @@ eina_value_dup(const Eina_Value *val)
 
    v = eina_value_new(eina_value_type_get(val));
    EINA_SAFETY_ON_NULL_RETURN_VAL(v, NULL);
-   eina_value_copy(val, v);
+   if (!eina_value_copy(val, v))
+     {
+        eina_value_setup(v, EINA_VALUE_TYPE_ERROR);
+        eina_value_set(v, EINA_ERROR_VALUE_FAILED);
+     }
    return v;
 }
 
@@ -1005,8 +1009,12 @@ eina_value_reference_copy(const Eina_Value *val)
 {
    Eina_Value v = EINA_VALUE_EMPTY;
 
-   eina_value_setup(&v, eina_value_type_get(val));
-   eina_value_copy(val, &v);
+   if (!eina_value_setup(&v, eina_value_type_get(val)) ||
+       !eina_value_copy(val, &v))
+     {
+        eina_value_setup(&v, EINA_VALUE_TYPE_ERROR);
+        eina_value_set(&v, EINA_ERROR_VALUE_FAILED);
+     }
    return v;
 }
 

-- 


Reply via email to