--- Begin Message ---
Hi,
Please find the latest report on new defect(s) introduced to Enlightenment
Foundation Libraries found with Coverity Scan.
Defect(s) Reported-by: Coverity Scan
Showing 17 of 17 defect(s)
** CID 1190413: Dereference after null check (FORWARD_NULL)
/src/bin/eolian/common_funcs.c: 82 in _nextline()
** CID 1190412: Resource leak (RESOURCE_LEAK)
/src/bin/eolian/eo1_generator.c: 605 in eo1_source_end_generate()
** CID 1190411: Resource leak (RESOURCE_LEAK)
/src/bin/eolian/eo1_generator.c: 605 in eo1_source_end_generate()
** CID 1190410: Resource leak (RESOURCE_LEAK)
/src/bin/eolian/eo1_generator.c: 605 in eo1_source_end_generate()
** CID 1190409: Resource leak (RESOURCE_LEAK)
/src/bin/eolian/eo1_generator.c: 605 in eo1_source_end_generate()
** CID 1190408: Resource leak (RESOURCE_LEAK)
/src/bin/eolian/eo1_generator.c: 605 in eo1_source_end_generate()
** CID 1190414: Logically dead code (DEADCODE)
/src/lib/eolian/eolian_database.c: 989 in _function_print()
/src/lib/eolian/eolian_database.c: 991 in _function_print()
/src/lib/eolian/eolian_database.c: 993 in _function_print()
/src/lib/eolian/eolian_database.c: 995 in _function_print()
/src/lib/eolian/eolian_database.c: 997 in _function_print()
/src/lib/eolian/eolian_database.c: 999 in _function_print()
/src/lib/eolian/eolian_database.c: 1006 in _function_print()
/src/lib/eolian/eolian_database.c: 1008 in _function_print()
/src/lib/eolian/eolian_database.c: 1010 in _function_print()
/src/lib/eolian/eolian_database.c: 1017 in _function_print()
/src/lib/eolian/eolian_database.c: 1019 in _function_print()
/src/lib/eolian/eolian_database.c: 1021 in _function_print()
/src/lib/eolian/eolian_database.c: 1028 in _function_print()
/src/lib/eolian/eolian_database.c: 1030 in _function_print()
/src/lib/eolian/eolian_database.c: 1032 in _function_print()
/src/lib/eolian/eolian_database.c: 1041 in _function_print()
/src/lib/eolian/eolian_database.c: 1043 in _function_print()
/src/lib/eolian/eolian_database.c: 1045 in _function_print()
** CID 1190400: Copy into fixed size buffer (STRING_OVERFLOW)
/src/bin/eolian/main.c: 19 in _include_guard_enclose()
** CID 1190399: Copy into fixed size buffer (STRING_OVERFLOW)
/src/bin/eolian/legacy_generator.c: 229 in _eapi_func_generate()
** CID 1190398: Copy into fixed size buffer (STRING_OVERFLOW)
/src/bin/eolian/common_funcs.c: 47 in _template_fill()
/src/bin/eolian/common_funcs.c: 51 in _template_fill()
/src/bin/eolian/common_funcs.c: 26 in _template_fill()
/src/bin/eolian/common_funcs.c: 63 in _template_fill()
/src/bin/eolian/common_funcs.c: 30 in _template_fill()
/src/bin/eolian/common_funcs.c: 24 in _template_fill()
** CID 1190407: Resource leak (RESOURCE_LEAK)
/src/bin/eolian/eo1_generator.c: 605 in eo1_source_end_generate()
** CID 1190406: Resource leak (RESOURCE_LEAK)
/src/bin/eolian/eo1_generator.c: 605 in eo1_source_end_generate()
** CID 1190405: Resource leak (RESOURCE_LEAK)
/src/bin/eolian/legacy_generator.c: 482 in legacy_source_generate()
** CID 1190404: Resource leak (RESOURCE_LEAK)
/src/bin/eolian/legacy_generator.c: 482 in legacy_source_generate()
** CID 1190403: Resource leak (RESOURCE_LEAK)
/src/bin/eolian/common_funcs.c: 114 in _source_desc_get()
/src/bin/eolian/common_funcs.c: 114 in _source_desc_get()
** CID 1190402: Dereference before null check (REVERSE_INULL)
/src/lib/evas/canvas/evas_object_textblock.c: 3853 in _layout_text_append()
** CID 1190401: Dereference before null check (REVERSE_INULL)
/src/lib/evas/canvas/evas_object_textblock.c: 3854 in _layout_text_append()
________________________________________________________________________________________________________
*** CID 1190413: Dereference after null check (FORWARD_NULL)
/src/bin/eolian/common_funcs.c: 82 in _nextline()
76 char*
77 _nextline(char *str, unsigned int lines)
78 {
79 if (!str) return NULL;
80
81 char *ret = str;
>>> CID 1190413: Dereference after null check (FORWARD_NULL)
>>> Dereferencing null pointer "ret".
82 while ((lines--) && *ret)
83 {
84 ret= strchr(ret, '\n');
85 if (ret) ret++;
86 }
87 return ret;
________________________________________________________________________________________________________
*** CID 1190412: Resource leak (RESOURCE_LEAK)
/src/bin/eolian/eo1_generator.c: 605 in eo1_source_end_generate()
599 EINA_LIST_FOREACH(eolian_class_functions_list_get((char
*)impl_class, PROPERTY_FUNC), itr2, fnid)
600 if (fnid && !strcmp(eolian_function_name_get(fnid),
funcname)) in_prop = fnid;
601
602 if (!in_meth && !in_prop)
603 {
604 ERR ("Failed to generate implementation of %s:%s - missing
form super class", impl_class, funcname);
>>> CID 1190412: Resource leak (RESOURCE_LEAK)
>>> Variable "str_end" going out of scope leaks the storage it points to.
605 return EINA_FALSE;
606 }
607
608 if (in_meth)
609 {
610 _template_fill(str_func, tmpl_impl_str, impl_class,
funcname, EINA_FALSE);
________________________________________________________________________________________________________
*** CID 1190411: Resource leak (RESOURCE_LEAK)
/src/bin/eolian/eo1_generator.c: 605 in eo1_source_end_generate()
599 EINA_LIST_FOREACH(eolian_class_functions_list_get((char
*)impl_class, PROPERTY_FUNC), itr2, fnid)
600 if (fnid && !strcmp(eolian_function_name_get(fnid),
funcname)) in_prop = fnid;
601
602 if (!in_meth && !in_prop)
603 {
604 ERR ("Failed to generate implementation of %s:%s - missing
form super class", impl_class, funcname);
>>> CID 1190411: Resource leak (RESOURCE_LEAK)
>>> Variable "tmpbuf" going out of scope leaks the storage it points to.
605 return EINA_FALSE;
606 }
607
608 if (in_meth)
609 {
610 _template_fill(str_func, tmpl_impl_str, impl_class,
funcname, EINA_FALSE);
________________________________________________________________________________________________________
*** CID 1190410: Resource leak (RESOURCE_LEAK)
/src/bin/eolian/eo1_generator.c: 605 in eo1_source_end_generate()
599 EINA_LIST_FOREACH(eolian_class_functions_list_get((char
*)impl_class, PROPERTY_FUNC), itr2, fnid)
600 if (fnid && !strcmp(eolian_function_name_get(fnid),
funcname)) in_prop = fnid;
601
602 if (!in_meth && !in_prop)
603 {
604 ERR ("Failed to generate implementation of %s:%s - missing
form super class", impl_class, funcname);
>>> CID 1190410: Resource leak (RESOURCE_LEAK)
>>> Variable "str_op" going out of scope leaks the storage it points to.
605 return EINA_FALSE;
606 }
607
608 if (in_meth)
609 {
610 _template_fill(str_func, tmpl_impl_str, impl_class,
funcname, EINA_FALSE);
________________________________________________________________________________________________________
*** CID 1190409: Resource leak (RESOURCE_LEAK)
/src/bin/eolian/eo1_generator.c: 605 in eo1_source_end_generate()
599 EINA_LIST_FOREACH(eolian_class_functions_list_get((char
*)impl_class, PROPERTY_FUNC), itr2, fnid)
600 if (fnid && !strcmp(eolian_function_name_get(fnid),
funcname)) in_prop = fnid;
601
602 if (!in_meth && !in_prop)
603 {
604 ERR ("Failed to generate implementation of %s:%s - missing
form super class", impl_class, funcname);
>>> CID 1190409: Resource leak (RESOURCE_LEAK)
>>> Variable "str_func" going out of scope leaks the storage it points to.
605 return EINA_FALSE;
606 }
607
608 if (in_meth)
609 {
610 _template_fill(str_func, tmpl_impl_str, impl_class,
funcname, EINA_FALSE);
________________________________________________________________________________________________________
*** CID 1190408: Resource leak (RESOURCE_LEAK)
/src/bin/eolian/eo1_generator.c: 605 in eo1_source_end_generate()
599 EINA_LIST_FOREACH(eolian_class_functions_list_get((char
*)impl_class, PROPERTY_FUNC), itr2, fnid)
600 if (fnid && !strcmp(eolian_function_name_get(fnid),
funcname)) in_prop = fnid;
601
602 if (!in_meth && !in_prop)
603 {
604 ERR ("Failed to generate implementation of %s:%s - missing
form super class", impl_class, funcname);
>>> CID 1190408: Resource leak (RESOURCE_LEAK)
>>> Variable "str_bodyf" going out of scope leaks the storage it points to.
605 return EINA_FALSE;
606 }
607
608 if (in_meth)
609 {
610 _template_fill(str_func, tmpl_impl_str, impl_class,
funcname, EINA_FALSE);
________________________________________________________________________________________________________
*** CID 1190414: Logically dead code (DEADCODE)
/src/lib/eolian/eolian_database.c: 989 in _function_print()
983 switch (fid->type)
984 {
985 case PROPERTY_FUNC:
986 {
987 printf("%*s<%s> %s\n", nb_spaces, "", ret_desc ? ret_desc
: "", fid->name);
988 const char *str = eolian_function_description_get(foo_id,
EOLIAN_COMMENT_GET);
>>> CID 1190414: Logically dead code (DEADCODE)
>>> Execution cannot reach this expression """" inside statement
>>> "printf("%*s<%s>\n", nb_spac...".
989 if (str) printf("%*s<%s>\n", nb_spaces + 5, "", (str ?
str : ""));
990 str = eolian_function_description_get(foo_id,
EOLIAN_COMMENT_SET);
991 if (str) printf("%*s<%s>\n", nb_spaces + 5, "", (str ?
str : ""));
992 str = eolian_function_data_get(foo_id, EOLIAN_LEGACY_GET);
993 if (str) printf("%*slegacy_get: <%s>\n", nb_spaces + 5,
"", (str ? str : ""));
994 str = eolian_function_data_get(foo_id, EOLIAN_LEGACY_SET);
/src/lib/eolian/eolian_database.c: 991 in _function_print()
985 case PROPERTY_FUNC:
986 {
987 printf("%*s<%s> %s\n", nb_spaces, "", ret_desc ? ret_desc
: "", fid->name);
988 const char *str = eolian_function_description_get(foo_id,
EOLIAN_COMMENT_GET);
989 if (str) printf("%*s<%s>\n", nb_spaces + 5, "", (str ?
str : ""));
990 str = eolian_function_description_get(foo_id,
EOLIAN_COMMENT_SET);
>>> CID 1190414: Logically dead code (DEADCODE)
>>> Execution cannot reach this expression """" inside statement
>>> "printf("%*s<%s>\n", nb_spac...".
991 if (str) printf("%*s<%s>\n", nb_spaces + 5, "", (str ?
str : ""));
992 str = eolian_function_data_get(foo_id, EOLIAN_LEGACY_GET);
993 if (str) printf("%*slegacy_get: <%s>\n", nb_spaces + 5,
"", (str ? str : ""));
994 str = eolian_function_data_get(foo_id, EOLIAN_LEGACY_SET);
995 if (str) printf("%*slegacy_set: <%s>\n", nb_spaces + 5,
"", (str ? str : ""));
996 str = eolian_function_data_get(foo_id,
EOLIAN_PROP_GET_RETURN_TYPE);
/src/lib/eolian/eolian_database.c: 993 in _function_print()
987 printf("%*s<%s> %s\n", nb_spaces, "", ret_desc ? ret_desc
: "", fid->name);
988 const char *str = eolian_function_description_get(foo_id,
EOLIAN_COMMENT_GET);
989 if (str) printf("%*s<%s>\n", nb_spaces + 5, "", (str ?
str : ""));
990 str = eolian_function_description_get(foo_id,
EOLIAN_COMMENT_SET);
991 if (str) printf("%*s<%s>\n", nb_spaces + 5, "", (str ?
str : ""));
992 str = eolian_function_data_get(foo_id, EOLIAN_LEGACY_GET);
>>> CID 1190414: Logically dead code (DEADCODE)
>>> Execution cannot reach this expression """" inside statement
>>> "printf("%*slegacy_get: <%s>...".
993 if (str) printf("%*slegacy_get: <%s>\n", nb_spaces + 5,
"", (str ? str : ""));
994 str = eolian_function_data_get(foo_id, EOLIAN_LEGACY_SET);
995 if (str) printf("%*slegacy_set: <%s>\n", nb_spaces + 5,
"", (str ? str : ""));
996 str = eolian_function_data_get(foo_id,
EOLIAN_PROP_GET_RETURN_TYPE);
997 if (str) printf("%*sreturn type for get: <%s>\n",
nb_spaces + 5, "", (str ? str : ""));
998 str = eolian_function_data_get(foo_id,
EOLIAN_PROP_SET_RETURN_TYPE);
/src/lib/eolian/eolian_database.c: 995 in _function_print()
989 if (str) printf("%*s<%s>\n", nb_spaces + 5, "", (str ?
str : ""));
990 str = eolian_function_description_get(foo_id,
EOLIAN_COMMENT_SET);
991 if (str) printf("%*s<%s>\n", nb_spaces + 5, "", (str ?
str : ""));
992 str = eolian_function_data_get(foo_id, EOLIAN_LEGACY_GET);
993 if (str) printf("%*slegacy_get: <%s>\n", nb_spaces + 5,
"", (str ? str : ""));
994 str = eolian_function_data_get(foo_id, EOLIAN_LEGACY_SET);
>>> CID 1190414: Logically dead code (DEADCODE)
>>> Execution cannot reach this expression """" inside statement
>>> "printf("%*slegacy_set: <%s>...".
995 if (str) printf("%*slegacy_set: <%s>\n", nb_spaces + 5,
"", (str ? str : ""));
996 str = eolian_function_data_get(foo_id,
EOLIAN_PROP_GET_RETURN_TYPE);
997 if (str) printf("%*sreturn type for get: <%s>\n",
nb_spaces + 5, "", (str ? str : ""));
998 str = eolian_function_data_get(foo_id,
EOLIAN_PROP_SET_RETURN_TYPE);
999 if (str) printf("%*sreturn type for set: <%s>\n",
nb_spaces + 5, "", (str ? str : ""));
1000 break;
/src/lib/eolian/eolian_database.c: 997 in _function_print()
991 if (str) printf("%*s<%s>\n", nb_spaces + 5, "", (str ?
str : ""));
992 str = eolian_function_data_get(foo_id, EOLIAN_LEGACY_GET);
993 if (str) printf("%*slegacy_get: <%s>\n", nb_spaces + 5,
"", (str ? str : ""));
994 str = eolian_function_data_get(foo_id, EOLIAN_LEGACY_SET);
995 if (str) printf("%*slegacy_set: <%s>\n", nb_spaces + 5,
"", (str ? str : ""));
996 str = eolian_function_data_get(foo_id,
EOLIAN_PROP_GET_RETURN_TYPE);
>>> CID 1190414: Logically dead code (DEADCODE)
>>> Execution cannot reach this expression """" inside statement
>>> "printf("%*sreturn type for ...".
997 if (str) printf("%*sreturn type for get: <%s>\n",
nb_spaces + 5, "", (str ? str : ""));
998 str = eolian_function_data_get(foo_id,
EOLIAN_PROP_SET_RETURN_TYPE);
999 if (str) printf("%*sreturn type for set: <%s>\n",
nb_spaces + 5, "", (str ? str : ""));
1000 break;
1001 }
1002 case GET:
/src/lib/eolian/eolian_database.c: 999 in _function_print()
993 if (str) printf("%*slegacy_get: <%s>\n", nb_spaces + 5,
"", (str ? str : ""));
994 str = eolian_function_data_get(foo_id, EOLIAN_LEGACY_SET);
995 if (str) printf("%*slegacy_set: <%s>\n", nb_spaces + 5,
"", (str ? str : ""));
996 str = eolian_function_data_get(foo_id,
EOLIAN_PROP_GET_RETURN_TYPE);
997 if (str) printf("%*sreturn type for get: <%s>\n",
nb_spaces + 5, "", (str ? str : ""));
998 str = eolian_function_data_get(foo_id,
EOLIAN_PROP_SET_RETURN_TYPE);
>>> CID 1190414: Logically dead code (DEADCODE)
>>> Execution cannot reach this expression """" inside statement
>>> "printf("%*sreturn type for ...".
999 if (str) printf("%*sreturn type for set: <%s>\n",
nb_spaces + 5, "", (str ? str : ""));
1000 break;
1001 }
1002 case GET:
1003 {
1004 printf("%*sGET:<%s> %s\n", nb_spaces, "", ret_desc ?
ret_desc : "", fid->name);
/src/lib/eolian/eolian_database.c: 1006 in _function_print()
1000 break;
1001 }
1002 case GET:
1003 {
1004 printf("%*sGET:<%s> %s\n", nb_spaces, "", ret_desc ?
ret_desc : "", fid->name);
1005 const char *str =
eolian_function_description_get(foo_id, EOLIAN_COMMENT_GET);
>>> CID 1190414: Logically dead code (DEADCODE)
>>> Execution cannot reach this expression """" inside statement
>>> "printf("%*s<%s>\n", nb_spac...".
1006 if (str) printf("%*s<%s>\n", nb_spaces + 5, "", (str ?
str : ""));
1007 str = eolian_function_data_get(foo_id,
EOLIAN_LEGACY_GET);
1008 if (str) printf("%*slegacy: <%s>\n", nb_spaces + 5, "",
(str ? str : ""));
1009 str = eolian_function_data_get(foo_id,
EOLIAN_PROP_GET_RETURN_TYPE);
1010 if (str) printf("%*sreturn type: <%s>\n", nb_spaces + 5,
"", (str ? str : ""));
1011 break;
/src/lib/eolian/eolian_database.c: 1008 in _function_print()
1002 case GET:
1003 {
1004 printf("%*sGET:<%s> %s\n", nb_spaces, "", ret_desc ?
ret_desc : "", fid->name);
1005 const char *str =
eolian_function_description_get(foo_id, EOLIAN_COMMENT_GET);
1006 if (str) printf("%*s<%s>\n", nb_spaces + 5, "", (str ?
str : ""));
1007 str = eolian_function_data_get(foo_id,
EOLIAN_LEGACY_GET);
>>> CID 1190414: Logically dead code (DEADCODE)
>>> Execution cannot reach this expression """" inside statement
>>> "printf("%*slegacy: <%s>\n",...".
1008 if (str) printf("%*slegacy: <%s>\n", nb_spaces + 5, "",
(str ? str : ""));
1009 str = eolian_function_data_get(foo_id,
EOLIAN_PROP_GET_RETURN_TYPE);
1010 if (str) printf("%*sreturn type: <%s>\n", nb_spaces + 5,
"", (str ? str : ""));
1011 break;
1012 }
1013 case SET:
/src/lib/eolian/eolian_database.c: 1010 in _function_print()
1004 printf("%*sGET:<%s> %s\n", nb_spaces, "", ret_desc ?
ret_desc : "", fid->name);
1005 const char *str =
eolian_function_description_get(foo_id, EOLIAN_COMMENT_GET);
1006 if (str) printf("%*s<%s>\n", nb_spaces + 5, "", (str ?
str : ""));
1007 str = eolian_function_data_get(foo_id,
EOLIAN_LEGACY_GET);
1008 if (str) printf("%*slegacy: <%s>\n", nb_spaces + 5, "",
(str ? str : ""));
1009 str = eolian_function_data_get(foo_id,
EOLIAN_PROP_GET_RETURN_TYPE);
>>> CID 1190414: Logically dead code (DEADCODE)
>>> Execution cannot reach this expression """" inside statement
>>> "printf("%*sreturn type: <%s...".
1010 if (str) printf("%*sreturn type: <%s>\n", nb_spaces + 5,
"", (str ? str : ""));
1011 break;
1012 }
1013 case SET:
1014 {
1015 printf("%*sSET:<%s> %s\n", nb_spaces, "", ret_desc ?
ret_desc : "", fid->name);
/src/lib/eolian/eolian_database.c: 1017 in _function_print()
1011 break;
1012 }
1013 case SET:
1014 {
1015 printf("%*sSET:<%s> %s\n", nb_spaces, "", ret_desc ?
ret_desc : "", fid->name);
1016 const char *str =
eolian_function_description_get(foo_id, EOLIAN_COMMENT_SET);
>>> CID 1190414: Logically dead code (DEADCODE)
>>> Execution cannot reach this expression """" inside statement
>>> "printf("%*s<%s>\n", nb_spac...".
1017 if (str) printf("%*s<%s>\n", nb_spaces + 5, "", (str ?
str : ""));
1018 str = eolian_function_data_get(foo_id,
EOLIAN_LEGACY_SET);
1019 if (str) printf("%*slegacy: <%s>\n", nb_spaces + 5, "",
(str ? str : ""));
1020 str = eolian_function_data_get(foo_id,
EOLIAN_PROP_SET_RETURN_TYPE);
1021 if (str) printf("%*sreturn type: <%s>\n", nb_spaces + 5,
"", (str ? str : ""));
1022 break;
/src/lib/eolian/eolian_database.c: 1019 in _function_print()
1013 case SET:
1014 {
1015 printf("%*sSET:<%s> %s\n", nb_spaces, "", ret_desc ?
ret_desc : "", fid->name);
1016 const char *str =
eolian_function_description_get(foo_id, EOLIAN_COMMENT_SET);
1017 if (str) printf("%*s<%s>\n", nb_spaces + 5, "", (str ?
str : ""));
1018 str = eolian_function_data_get(foo_id,
EOLIAN_LEGACY_SET);
>>> CID 1190414: Logically dead code (DEADCODE)
>>> Execution cannot reach this expression """" inside statement
>>> "printf("%*slegacy: <%s>\n",...".
1019 if (str) printf("%*slegacy: <%s>\n", nb_spaces + 5, "",
(str ? str : ""));
1020 str = eolian_function_data_get(foo_id,
EOLIAN_PROP_SET_RETURN_TYPE);
1021 if (str) printf("%*sreturn type: <%s>\n", nb_spaces + 5,
"", (str ? str : ""));
1022 break;
1023 }
1024 case METHOD_FUNC:
/src/lib/eolian/eolian_database.c: 1021 in _function_print()
1015 printf("%*sSET:<%s> %s\n", nb_spaces, "", ret_desc ?
ret_desc : "", fid->name);
1016 const char *str =
eolian_function_description_get(foo_id, EOLIAN_COMMENT_SET);
1017 if (str) printf("%*s<%s>\n", nb_spaces + 5, "", (str ?
str : ""));
1018 str = eolian_function_data_get(foo_id,
EOLIAN_LEGACY_SET);
1019 if (str) printf("%*slegacy: <%s>\n", nb_spaces + 5, "",
(str ? str : ""));
1020 str = eolian_function_data_get(foo_id,
EOLIAN_PROP_SET_RETURN_TYPE);
>>> CID 1190414: Logically dead code (DEADCODE)
>>> Execution cannot reach this expression """" inside statement
>>> "printf("%*sreturn type: <%s...".
1021 if (str) printf("%*sreturn type: <%s>\n", nb_spaces + 5,
"", (str ? str : ""));
1022 break;
1023 }
1024 case METHOD_FUNC:
1025 {
1026 printf("%*s<%s> %s\n", nb_spaces, "", ret_desc ?
ret_desc : "", fid->name);
/src/lib/eolian/eolian_database.c: 1028 in _function_print()
1022 break;
1023 }
1024 case METHOD_FUNC:
1025 {
1026 printf("%*s<%s> %s\n", nb_spaces, "", ret_desc ?
ret_desc : "", fid->name);
1027 const char *str =
eolian_function_description_get(foo_id, EOLIAN_COMMENT);
>>> CID 1190414: Logically dead code (DEADCODE)
>>> Execution cannot reach this expression """" inside statement
>>> "printf("%*s<%s>\n", nb_spac...".
1028 if (str) printf("%*s<%s>\n", nb_spaces + 5, "", (str ?
str : ""));
1029 str = eolian_function_data_get(foo_id, EOLIAN_LEGACY);
1030 if (str) printf("%*slegacy: <%s>\n", nb_spaces + 5, "",
(str ? str : ""));
1031 str = eolian_function_data_get(foo_id,
EOLIAN_METHOD_RETURN_TYPE);
1032 if (str) printf("%*sreturn type: <%s>\n", nb_spaces + 5,
"", (str ? str : ""));
1033 if (fid->obj_is_const) printf("%*sobj const: <true>\n",
nb_spaces + 5, "");
/src/lib/eolian/eolian_database.c: 1030 in _function_print()
1024 case METHOD_FUNC:
1025 {
1026 printf("%*s<%s> %s\n", nb_spaces, "", ret_desc ?
ret_desc : "", fid->name);
1027 const char *str =
eolian_function_description_get(foo_id, EOLIAN_COMMENT);
1028 if (str) printf("%*s<%s>\n", nb_spaces + 5, "", (str ?
str : ""));
1029 str = eolian_function_data_get(foo_id, EOLIAN_LEGACY);
>>> CID 1190414: Logically dead code (DEADCODE)
>>> Execution cannot reach this expression """" inside statement
>>> "printf("%*slegacy: <%s>\n",...".
1030 if (str) printf("%*slegacy: <%s>\n", nb_spaces + 5, "",
(str ? str : ""));
1031 str = eolian_function_data_get(foo_id,
EOLIAN_METHOD_RETURN_TYPE);
1032 if (str) printf("%*sreturn type: <%s>\n", nb_spaces + 5,
"", (str ? str : ""));
1033 if (fid->obj_is_const) printf("%*sobj const: <true>\n",
nb_spaces + 5, "");
1034 break;
1035 }
/src/lib/eolian/eolian_database.c: 1032 in _function_print()
1026 printf("%*s<%s> %s\n", nb_spaces, "", ret_desc ?
ret_desc : "", fid->name);
1027 const char *str =
eolian_function_description_get(foo_id, EOLIAN_COMMENT);
1028 if (str) printf("%*s<%s>\n", nb_spaces + 5, "", (str ?
str : ""));
1029 str = eolian_function_data_get(foo_id, EOLIAN_LEGACY);
1030 if (str) printf("%*slegacy: <%s>\n", nb_spaces + 5, "",
(str ? str : ""));
1031 str = eolian_function_data_get(foo_id,
EOLIAN_METHOD_RETURN_TYPE);
>>> CID 1190414: Logically dead code (DEADCODE)
>>> Execution cannot reach this expression """" inside statement
>>> "printf("%*sreturn type: <%s...".
1032 if (str) printf("%*sreturn type: <%s>\n", nb_spaces + 5,
"", (str ? str : ""));
1033 if (fid->obj_is_const) printf("%*sobj const: <true>\n",
nb_spaces + 5, "");
1034 break;
1035 }
1036 case CONSTRUCTOR:
1037 case DESTRUCTOR:
/src/lib/eolian/eolian_database.c: 1041 in _function_print()
1035 }
1036 case CONSTRUCTOR:
1037 case DESTRUCTOR:
1038 {
1039 //char *str = eina_hash_find(fid->data, "comment");
1040 const char *str =
eolian_function_description_get(foo_id, EOLIAN_COMMENT);
>>> CID 1190414: Logically dead code (DEADCODE)
>>> Execution cannot reach this expression """" inside statement
>>> "printf("%*s<%s>\n", nb_spac...".
1041 if (str) printf("%*s<%s>\n", nb_spaces + 5, "", (str ?
str : ""));
1042 str = eolian_function_data_get(foo_id, EOLIAN_LEGACY);
1043 if (str) printf("%*slegacy: <%s>\n", nb_spaces + 5, "",
(str ? str : ""));
1044 str = eolian_function_data_get(foo_id,
EOLIAN_METHOD_RETURN_TYPE);
1045 if (str) printf("%*sreturn type: <%s>\n", nb_spaces + 5,
"", (str ? str : ""));
1046 break;
/src/lib/eolian/eolian_database.c: 1043 in _function_print()
1037 case DESTRUCTOR:
1038 {
1039 //char *str = eina_hash_find(fid->data, "comment");
1040 const char *str =
eolian_function_description_get(foo_id, EOLIAN_COMMENT);
1041 if (str) printf("%*s<%s>\n", nb_spaces + 5, "", (str ?
str : ""));
1042 str = eolian_function_data_get(foo_id, EOLIAN_LEGACY);
>>> CID 1190414: Logically dead code (DEADCODE)
>>> Execution cannot reach this expression """" inside statement
>>> "printf("%*slegacy: <%s>\n",...".
1043 if (str) printf("%*slegacy: <%s>\n", nb_spaces + 5, "",
(str ? str : ""));
1044 str = eolian_function_data_get(foo_id,
EOLIAN_METHOD_RETURN_TYPE);
1045 if (str) printf("%*sreturn type: <%s>\n", nb_spaces + 5,
"", (str ? str : ""));
1046 break;
1047 }
1048 default:
/src/lib/eolian/eolian_database.c: 1045 in _function_print()
1039 //char *str = eina_hash_find(fid->data, "comment");
1040 const char *str =
eolian_function_description_get(foo_id, EOLIAN_COMMENT);
1041 if (str) printf("%*s<%s>\n", nb_spaces + 5, "", (str ?
str : ""));
1042 str = eolian_function_data_get(foo_id, EOLIAN_LEGACY);
1043 if (str) printf("%*slegacy: <%s>\n", nb_spaces + 5, "",
(str ? str : ""));
1044 str = eolian_function_data_get(foo_id,
EOLIAN_METHOD_RETURN_TYPE);
>>> CID 1190414: Logically dead code (DEADCODE)
>>> Execution cannot reach this expression """" inside statement
>>> "printf("%*sreturn type: <%s...".
1045 if (str) printf("%*sreturn type: <%s>\n", nb_spaces + 5,
"", (str ? str : ""));
1046 break;
1047 }
1048 default:
1049 return EINA_FALSE;
1050 }
________________________________________________________________________________________________________
*** CID 1190400: Copy into fixed size buffer (STRING_OVERFLOW)
/src/bin/eolian/main.c: 19 in _include_guard_enclose()
13 static Eina_Bool legacy_support = EINA_FALSE;
14
15 static char*
16 _include_guard_enclose(const char *fname, const char *fbody)
17 {
18 char incname[0xFF];
>>> CID 1190400: Copy into fixed size buffer (STRING_OVERFLOW)
>>> Note: This defect has an elevated risk because the source argument is a
>>> parameter of the current function.
19 strcpy (incname, fname);
20 char *p = incname;
21 eina_str_toupper(&p);
22
23 Eina_Strbuf *incguard = eina_strbuf_new();
24 eina_strbuf_append_printf(incguard,
________________________________________________________________________________________________________
*** CID 1190399: Copy into fixed size buffer (STRING_OVERFLOW)
/src/bin/eolian/legacy_generator.c: 229 in _eapi_func_generate()
223 char tmpstr[0xFF];
224 sprintf (tmpstr, "%s%s", eolian_function_name_get(funcid), suffix);
225 _template_fill(fbody, tmpl_eapi_body, classname, tmpstr, EINA_FALSE);
226
227 if (!func_lpref)
228 {
>>> CID 1190399: Copy into fixed size buffer (STRING_OVERFLOW)
>>> Note: This defect has an elevated risk because the source argument is a
>>> parameter of the current function.
229 strcpy(tmpstr, classname);
230 char *p = tmpstr;
231 eina_str_tolower(&p);
232 func_lpref = tmpstr;
233 }
234 eina_strbuf_replace_all(fbody, "@#eapi_prefix", func_lpref);
________________________________________________________________________________________________________
*** CID 1190398: Copy into fixed size buffer (STRING_OVERFLOW)
/src/bin/eolian/common_funcs.c: 47 in _template_fill()
41 if (!strcmp(classname, "Evas_Object"))
42 {
43 eina_strbuf_reset(classobj);
44 eina_strbuf_append(classobj, "Evas_Obj");
45 }
46
>>> CID 1190398: Copy into fixed size buffer (STRING_OVERFLOW)
>>> You might overrun the 255 byte fixed-size string "capobjclass" by
>>> copying the return value of "eina_strbuf_string_get(Eina_Strbuf const *)"
>>> without checking the length.
47 strcpy(capobjclass, eina_strbuf_string_get(classobj));
48 p = capobjclass;
49 eina_str_toupper(&p);
50
51 strcpy(lowobjclass, eina_strbuf_string_get(classobj));
52 p = lowobjclass;
/src/bin/eolian/common_funcs.c: 51 in _template_fill()
45 }
46
47 strcpy(capobjclass, eina_strbuf_string_get(classobj));
48 p = capobjclass;
49 eina_str_toupper(&p);
50
>>> CID 1190398: Copy into fixed size buffer (STRING_OVERFLOW)
>>> You might overrun the 255 byte fixed-size string "lowobjclass" by
>>> copying the return value of "eina_strbuf_string_get(Eina_Strbuf const *)"
>>> without checking the length.
51 strcpy(lowobjclass, eina_strbuf_string_get(classobj));
52 p = lowobjclass;
53 eina_str_tolower(&p);
54
55 strcpy(eoprefix, lowobjclass);
56
/src/bin/eolian/common_funcs.c: 26 in _template_fill()
20
21 if (strcmp(classname, normclass))
22 {
23 //Fill cache
24 strcpy(normclass, classname);
25
>>> CID 1190398: Copy into fixed size buffer (STRING_OVERFLOW)
>>> Note: This defect has an elevated risk because the source argument is a
>>> parameter of the current function.
26 strcpy(capclass, classname);
27 p = capclass;
28 eina_str_toupper(&p);
29
30 strcpy(lowclass, classname);
31 p = lowclass;
/src/bin/eolian/common_funcs.c: 63 in _template_fill()
57 if (!strcmp(classname, "Elm_Widget"))
58 strcpy(eoprefix, "elm_wdg");
59
60 eina_strbuf_free(classobj);
61 }
62
>>> CID 1190398: Copy into fixed size buffer (STRING_OVERFLOW)
>>> Note: This defect has an elevated risk because the source argument is a
>>> parameter of the current function.
63 strcpy(capfunc, funcname);
64 p = capfunc; eina_str_toupper(&p);
65
66 eina_strbuf_replace_all(buf, "@#func", funcname);
67 eina_strbuf_replace_all(buf, "@#FUNC", capfunc);
68 eina_strbuf_replace_all(buf, "@#Class", classname);
/src/bin/eolian/common_funcs.c: 30 in _template_fill()
24 strcpy(normclass, classname);
25
26 strcpy(capclass, classname);
27 p = capclass;
28 eina_str_toupper(&p);
29
>>> CID 1190398: Copy into fixed size buffer (STRING_OVERFLOW)
>>> Note: This defect has an elevated risk because the source argument is a
>>> parameter of the current function.
30 strcpy(lowclass, classname);
31 p = lowclass;
32 eina_str_tolower(&p);
33
34 Eina_Strbuf *classobj = eina_strbuf_new();
35 eina_strbuf_append(classobj, classname);
/src/bin/eolian/common_funcs.c: 24 in _template_fill()
18 if (reset) eina_strbuf_reset(buf);
19 if (templ) eina_strbuf_append(buf, templ);
20
21 if (strcmp(classname, normclass))
22 {
23 //Fill cache
>>> CID 1190398: Copy into fixed size buffer (STRING_OVERFLOW)
>>> Note: This defect has an elevated risk because the source argument is a
>>> parameter of the current function.
24 strcpy(normclass, classname);
25
26 strcpy(capclass, classname);
27 p = capclass;
28 eina_str_toupper(&p);
29
________________________________________________________________________________________________________
*** CID 1190407: Resource leak (RESOURCE_LEAK)
/src/bin/eolian/eo1_generator.c: 605 in eo1_source_end_generate()
599 EINA_LIST_FOREACH(eolian_class_functions_list_get((char
*)impl_class, PROPERTY_FUNC), itr2, fnid)
600 if (fnid && !strcmp(eolian_function_name_get(fnid),
funcname)) in_prop = fnid;
601
602 if (!in_meth && !in_prop)
603 {
604 ERR ("Failed to generate implementation of %s:%s - missing
form super class", impl_class, funcname);
>>> CID 1190407: Resource leak (RESOURCE_LEAK)
>>> Variable "str_ev" going out of scope leaks the storage it points to.
605 return EINA_FALSE;
606 }
607
608 if (in_meth)
609 {
610 _template_fill(str_func, tmpl_impl_str, impl_class,
funcname, EINA_FALSE);
________________________________________________________________________________________________________
*** CID 1190406: Resource leak (RESOURCE_LEAK)
/src/bin/eolian/eo1_generator.c: 605 in eo1_source_end_generate()
599 EINA_LIST_FOREACH(eolian_class_functions_list_get((char
*)impl_class, PROPERTY_FUNC), itr2, fnid)
600 if (fnid && !strcmp(eolian_function_name_get(fnid),
funcname)) in_prop = fnid;
601
602 if (!in_meth && !in_prop)
603 {
604 ERR ("Failed to generate implementation of %s:%s - missing
form super class", impl_class, funcname);
>>> CID 1190406: Resource leak (RESOURCE_LEAK)
>>> Variable "tmpl_impl" going out of scope leaks the storage it points to.
605 return EINA_FALSE;
606 }
607
608 if (in_meth)
609 {
610 _template_fill(str_func, tmpl_impl_str, impl_class,
funcname, EINA_FALSE);
________________________________________________________________________________________________________
*** CID 1190405: Resource leak (RESOURCE_LEAK)
/src/bin/eolian/legacy_generator.c: 482 in legacy_source_generate()
476 if (!eo1_bind_func_generate(classname, fn, UNRESOLVED,
str_bodyf, NULL)) return EINA_FALSE;
477 if (legacy) _eapi_func_generate(classname, fn, UNRESOLVED,
str_bodyf);
478 }
479
480 eina_strbuf_append(buf, eina_strbuf_string_get(str_bodyf));
481
>>> CID 1190405: Resource leak (RESOURCE_LEAK)
>>> Variable "tmpbuf" going out of scope leaks the storage it points to.
482 if (!eo1_source_end_generate(classname, buf)) return EINA_FALSE;
483
484 eina_strbuf_free(tmpbuf);
485 eina_strbuf_free(str_bodyf);
486
487 return EINA_TRUE;
________________________________________________________________________________________________________
*** CID 1190404: Resource leak (RESOURCE_LEAK)
/src/bin/eolian/legacy_generator.c: 482 in legacy_source_generate()
476 if (!eo1_bind_func_generate(classname, fn, UNRESOLVED,
str_bodyf, NULL)) return EINA_FALSE;
477 if (legacy) _eapi_func_generate(classname, fn, UNRESOLVED,
str_bodyf);
478 }
479
480 eina_strbuf_append(buf, eina_strbuf_string_get(str_bodyf));
481
>>> CID 1190404: Resource leak (RESOURCE_LEAK)
>>> Variable "str_bodyf" going out of scope leaks the storage it points to.
482 if (!eo1_source_end_generate(classname, buf)) return EINA_FALSE;
483
484 eina_strbuf_free(tmpbuf);
485 eina_strbuf_free(str_bodyf);
486
487 return EINA_TRUE;
________________________________________________________________________________________________________
*** CID 1190403: Resource leak (RESOURCE_LEAK)
/src/bin/eolian/common_funcs.c: 114 in _source_desc_get()
108 size_t offs = (p) ? (size_t)(p - str) : strlen(str);
109 eina_strbuf_append_n(part, str, offs);
110 eina_strbuf_replace_all(part, "\\", "\\\\");
111 eina_strbuf_replace_all(part, "\"", "\\\"");
112 }
113 char *ret = eina_strbuf_string_steal(part);
>>> CID 1190403: Resource leak (RESOURCE_LEAK)
>>> Variable "part" going out of scope leaks the storage it points to.
114 return ret;
/src/bin/eolian/common_funcs.c: 114 in _source_desc_get()
108 size_t offs = (p) ? (size_t)(p - str) : strlen(str);
109 eina_strbuf_append_n(part, str, offs);
110 eina_strbuf_replace_all(part, "\\", "\\\\");
111 eina_strbuf_replace_all(part, "\"", "\\\"");
112 }
113 char *ret = eina_strbuf_string_steal(part);
>>> CID 1190403: Resource leak (RESOURCE_LEAK)
>>> Variable "part" going out of scope leaks the storage it points to.
114 return ret;
________________________________________________________________________________________________________
*** CID 1190402: Dereference before null check (REVERSE_INULL)
/src/lib/evas/canvas/evas_object_textblock.c: 3853 in _layout_text_append()
3847 {
3848 Evas_Object_Textblock_Text_Item *new_ti;
3849
3850 /* There must be a next because of the test in the
while. */
3851 queue = (Layout_Text_Append_Queue *)
EINA_INLIST_GET(queue)->next;
3852
>>> CID 1190402: Dereference before null check (REVERSE_INULL)
>>> Directly dereferencing pointer "queue".
3853 new_ti = _layout_text_item_new(c, queue->format);
3854 new_ti->parent.text_node = ti->parent.text_node;
3855 new_ti->parent.text_pos = queue->start;
3856
3857 evas_common_text_props_split(&ti->text_props,
&new_ti->text_props,
3858 new_ti->parent.text_pos - ti->parent.text_pos);
________________________________________________________________________________________________________
*** CID 1190401: Dereference before null check (REVERSE_INULL)
/src/lib/evas/canvas/evas_object_textblock.c: 3854 in _layout_text_append()
3848 Evas_Object_Textblock_Text_Item *new_ti;
3849
3850 /* There must be a next because of the test in the
while. */
3851 queue = (Layout_Text_Append_Queue *)
EINA_INLIST_GET(queue)->next;
3852
3853 new_ti = _layout_text_item_new(c, queue->format);
>>> CID 1190401: Dereference before null check (REVERSE_INULL)
>>> Directly dereferencing pointer "ti".
3854 new_ti->parent.text_node = ti->parent.text_node;
3855 new_ti->parent.text_pos = queue->start;
3856
3857 evas_common_text_props_split(&ti->text_props,
&new_ti->text_props,
3858 new_ti->parent.text_pos - ti->parent.text_pos);
3859
________________________________________________________________________________________________________
To view the defects in Coverity Scan visit,
http://scan.coverity.com/projects/552?tab=Overview
To unsubscribe from the email notification for new defects,
http://scan5.coverity.com/cgi-bin/unsubscribe.py
--- End Message ---