Hello.

Since eolian was introduced in efl Coverity reported around 15 new
issues on it. Most of them seem to be resource leaks.

Also make distcheck is now broken for efl as some of the generated
files are not landing in the tarball or something similar.

https://build.enlightenment.org/view/Nightly/job/nightly_efl_gcc_x86_64/lastFailedBuild/console

I figured you might be interested in this. :)

regards
Stefan Schmidt
--- 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 ---
------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works. 
Faster operations. Version large binaries.  Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to