forked from enlightenment/efl
eina_value: Fix unchecked return value
Small patch to check return value of eina_value_type_setup reported by Coverity Fixes CID1401023
This commit is contained in:
parent
3a07f18294
commit
732e622a82
|
@ -4614,27 +4614,27 @@ eina_value_optional_pset(Eina_Value *value,
|
||||||
{
|
{
|
||||||
eina_value_optional_reset(value);
|
eina_value_optional_reset(value);
|
||||||
|
|
||||||
if(sizeof(Eina_Value_Optional_Outer) <= sizeof(Eina_Value_Union))
|
if (sizeof(Eina_Value_Optional_Outer) <= sizeof(Eina_Value_Union))
|
||||||
{
|
{
|
||||||
Eina_Value_Optional_Outer outer;
|
Eina_Value_Optional_Outer outer;
|
||||||
outer.subtype = subtype;
|
outer.subtype = subtype;
|
||||||
outer.value = malloc(subtype->value_size);
|
outer.value = malloc(subtype->value_size);
|
||||||
eina_value_type_setup(subtype, outer.value);
|
if (!eina_value_type_setup(subtype, outer.value))
|
||||||
eina_value_type_pset(subtype, outer.value, subvalue);
|
return EINA_FALSE;
|
||||||
if (!eina_value_pset(value, &outer))
|
eina_value_type_pset(subtype, outer.value, subvalue);
|
||||||
{
|
if (!eina_value_pset(value, &outer))
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Eina_Value_Optional_Inner *inner =
|
Eina_Value_Optional_Inner *inner =
|
||||||
malloc(sizeof(Eina_Value_Optional_Inner) + subtype->value_size);
|
malloc(sizeof(Eina_Value_Optional_Inner) + subtype->value_size);
|
||||||
inner->subtype = subtype;
|
inner->subtype = subtype;
|
||||||
eina_value_type_setup(subtype, inner->value);
|
if (!eina_value_type_setup(subtype, inner->value))
|
||||||
|
return EINA_FALSE;
|
||||||
eina_value_type_pset(subtype, inner->value, subvalue);
|
eina_value_type_pset(subtype, inner->value, subvalue);
|
||||||
if (!eina_value_pset(value, &inner))
|
if (!eina_value_pset(value, &inner))
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
|
|
Loading…
Reference in New Issue