efl: check config values before passing to non-null function

if these config values don't exist, we should return the inlined defaults

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11499
This commit is contained in:
Mike Blumenkrantz 2020-03-12 12:50:26 -04:00 committed by Marcel Hollerbach
parent 765c5c2a0b
commit eaa06230dd
1 changed files with 4 additions and 4 deletions

View File

@ -253,7 +253,7 @@ efl_config_bool_get(const Efl_Config *obj, const char * name)
{
Eina_Value *v = efl_config_get(obj, name);
Eina_Bool b = 0;
if (eina_value_type_get(v) == EINA_VALUE_TYPE_UCHAR)
if (v && eina_value_type_get(v) == EINA_VALUE_TYPE_UCHAR)
eina_value_get(v, &b);
eina_value_free(v);
return b;
@ -275,7 +275,7 @@ efl_config_int_get(const Efl_Config *obj, const char * name)
{
Eina_Value *v = efl_config_get(obj, name);
int b = 0;
if (eina_value_type_get(v) == EINA_VALUE_TYPE_INT)
if (v && eina_value_type_get(v) == EINA_VALUE_TYPE_INT)
eina_value_get(v, &b);
eina_value_free(v);
return b;
@ -297,7 +297,7 @@ efl_config_double_get(const Efl_Config *obj, const char * name)
{
Eina_Value *v = efl_config_get(obj, name);
double b = 0;
if (eina_value_type_get(v) == EINA_VALUE_TYPE_DOUBLE)
if (v && eina_value_type_get(v) == EINA_VALUE_TYPE_DOUBLE)
eina_value_get(v, &b);
eina_value_free(v);
return b;
@ -319,7 +319,7 @@ efl_config_string_get(const Efl_Config *obj, const char *name)
{
Eina_Value *v = efl_config_get(obj, name);
Eina_Stringshare *s = 0;
if (eina_value_type_get(v) == EINA_VALUE_TYPE_STRING)
if (v && eina_value_type_get(v) == EINA_VALUE_TYPE_STRING)
{
const char *b = 0;
eina_value_get(v, &b);