Hi,

Please find the latest report on new defect(s) introduced to coreboot found 
with Coverity Scan.

26 new defect(s) introduced to coreboot found with Coverity Scan.
2 defect(s), reported by Coverity Scan earlier, were marked fixed in the recent 
build analyzed by Coverity Scan.

New defect(s) Reported-by: Coverity Scan
Showing 20 of 26 defect(s)


** CID 1458462:  Resource leaks  (RESOURCE_LEAK)
/util/kconfig/confdata.c: 1149 in conf_write_autoconf()


________________________________________________________________________________________________________
*** CID 1458462:  Resource leaks  (RESOURCE_LEAK)
/util/kconfig/confdata.c: 1149 in conf_write_autoconf()
1143                    return 1;
1144     
1145            name = getenv("KCONFIG_AUTOHEADER");
1146            if (!name)
1147                    name = "include/generated/autoconf.h";
1148            if (make_parent_dir(name))
>>>     CID 1458462:  Resource leaks  (RESOURCE_LEAK)
>>>     Variable "out" going out of scope leaks the storage it points to.
1149                    return 1;
1150            char filename_h[PATH_MAX];
1151            int fd_h = conf_mktemp(name, filename_h);
1152            if (fd_h == -1)
1153                    return 1;
1154            out_h = fdopen(fd_h, "w");

** CID 1458461:  Resource leaks  (RESOURCE_LEAK)
/util/kconfig/menu.c: 212 in menu_add_symbol()


________________________________________________________________________________________________________
*** CID 1458461:  Resource leaks  (RESOURCE_LEAK)
/util/kconfig/menu.c: 212 in menu_add_symbol()
206     {
207             menu_add_prop(type, expr, dep);
208     }
209     
210     void menu_add_symbol(enum prop_type type, struct symbol *sym, struct 
expr *dep)
211     {
>>>     CID 1458461:  Resource leaks  (RESOURCE_LEAK)
>>>     Ignoring storage allocated by "menu_add_prop(type, 
>>> expr_alloc_symbol(sym), dep)" leaks it.
212             menu_add_prop(type, expr_alloc_symbol(sym), dep);
213     }
214     
215     static int menu_validate_number(struct symbol *sym, struct symbol *sym2)
216     {
217             return sym2->type == S_INT || sym2->type == S_HEX ||

** CID 1458460:  Security best practices violations  (STRING_OVERFLOW)
/util/kconfig/confdata.c: 1049 in conf_touch_deps()


________________________________________________________________________________________________________
*** CID 1458460:  Security best practices violations  (STRING_OVERFLOW)
/util/kconfig/confdata.c: 1049 in conf_touch_deps()
1043     static int conf_touch_deps(void)
1044     {
1045            const char *name;
1046            struct symbol *sym;
1047            int res, i;
1048     
>>>     CID 1458460:  Security best practices violations  (STRING_OVERFLOW)
>>>     You might overrun the 4096-character fixed-size string "depfile_path" 
>>> by copying the return value of "conf_get_autobase_name" without checking 
>>> the length.
1049            strcpy(depfile_path, conf_get_autobase_name());
1050            depfile_prefix_len = strlen(depfile_path);
1051     
1052            name = conf_get_autoconfig_name();
1053            conf_read_simple(name, S_DEF_AUTO);
1054            sym_calc_value(modules_sym);

** CID 1458459:  Resource leaks  (RESOURCE_LEAK)
/util/kconfig/menu.c: 207 in menu_add_expr()


________________________________________________________________________________________________________
*** CID 1458459:  Resource leaks  (RESOURCE_LEAK)
/util/kconfig/menu.c: 207 in menu_add_expr()
201             current_entry->visibility = 
expr_alloc_and(current_entry->visibility,
202                 expr);
203     }
204     
205     void menu_add_expr(enum prop_type type, struct expr *expr, struct expr 
*dep)
206     {
>>>     CID 1458459:  Resource leaks  (RESOURCE_LEAK)
>>>     Ignoring storage allocated by "menu_add_prop(type, expr, dep)" leaks it.
207             menu_add_prop(type, expr, dep);
208     }
209     
210     void menu_add_symbol(enum prop_type type, struct symbol *sym, struct 
expr *dep)
211     {
212             menu_add_prop(type, expr_alloc_symbol(sym), dep);

** CID 1458458:  Null pointer dereferences  (FORWARD_NULL)
/util/kconfig/menu.c: 820 in get_symbol_str()


________________________________________________________________________________________________________
*** CID 1458458:  Null pointer dereferences  (FORWARD_NULL)
/util/kconfig/menu.c: 820 in get_symbol_str()
814                                     str_append(r, "\n");
815                             }
816                     }
817             }
818     
819             /* Print the definitions with prompts before the ones without */
>>>     CID 1458458:  Null pointer dereferences  (FORWARD_NULL)
>>>     Dereferencing null pointer "sym".
820             for_all_properties(sym, prop, P_SYMBOL) {
821                     if (prop->menu->prompt) {
822                             get_def_str(r, prop->menu);
823                             get_prompt_str(r, prop->menu->prompt, head);
824                     }
825             }

** CID 1458457:  Security best practices violations  (SECURE_TEMP)
/util/kconfig/confdata.c: 890 in conf_mktemp()


________________________________________________________________________________________________________
*** CID 1458457:  Security best practices violations  (SECURE_TEMP)
/util/kconfig/confdata.c: 890 in conf_mktemp()
884     static int conf_mktemp(const char *path, char *tmpfile)
885     {
886             if (snprintf(tmpfile, PATH_MAX, "%s.tmp.XXXXXX", path) >= 
PATH_MAX) {
887                     errno = EOVERFLOW;
888                     return -1;
889             }
>>>     CID 1458457:  Security best practices violations  (SECURE_TEMP)
>>>     Calling "mkstemp" without securely setting umask first.
890             return mkstemp(tmpfile);
891     }
892     
893     int conf_write(const char *name)
894     {
895             FILE *out;

** CID 1425175:  Resource leaks  (RESOURCE_LEAK)
/util/kconfig/confdata.c: 84 in is_same()


________________________________________________________________________________________________________
*** CID 1425175:  Resource leaks  (RESOURCE_LEAK)
/util/kconfig/confdata.c: 84 in is_same()
78      ret = true;
79     close2:
80      close(fd2);
81     close1:
82      close(fd1);
83     
>>>     CID 1425175:  Resource leaks  (RESOURCE_LEAK)
>>>     Variable "map1" going out of scope leaks the storage it points to.
84      return ret;
85     }
86     
87     /*
88      * Create the parent directory of the given path.
89      *

** CID 1425144:  Null pointer dereferences  (FORWARD_NULL)
/util/kconfig/symbol.c: 1078 in sym_check_print_recursive()


________________________________________________________________________________________________________
*** CID 1425144:  Null pointer dereferences  (FORWARD_NULL)
/util/kconfig/symbol.c: 1078 in sym_check_print_recursive()
1072                                    menu = prop->menu;
1073                                    if (prop->menu)
1074                                            break;
1075                            }
1076                    }
1077                    if (stack->sym == last_sym)
>>>     CID 1425144:  Null pointer dereferences  (FORWARD_NULL)
>>>     Dereferencing null pointer "prop".
1078                            fprintf(stderr, "%s:%d:error: recursive 
dependency detected!\n",
1079                                    prop->file->name, prop->lineno);
1080     
1081                    if (sym_is_choice(sym)) {
1082                            fprintf(stderr, "%s:%d:\tchoice %s contains 
symbol %s\n",
1083                                    menu->file->name, menu->lineno,

** CID 1425116:    (TAINTED_SCALAR)


________________________________________________________________________________________________________
*** CID 1425116:    (TAINTED_SCALAR)
/util/kconfig/confdata.c: 1130 in conf_write_autoconf()
1124            if (!overwrite && is_present(autoconf_name))
1125                    return 0;
1126     
1127            char autoconfcmd_path[PATH_MAX];
1128            snprintf(autoconfcmd_path, sizeof(autoconfcmd_path), "%s%s",
1129                    conf_get_autobase_name(), "auto.conf.cmd");
>>>     CID 1425116:    (TAINTED_SCALAR)
>>>     Passing tainted variable "autoconfcmd_path" to a tainted sink.
1130            conf_write_dep(autoconfcmd_path);
1131     
1132            if (conf_touch_deps())
1133                    return 1;
1134     
1135            if (make_parent_dir(autoconf_name))
/util/kconfig/confdata.c: 1148 in conf_write_autoconf()
1142            if (!out)
1143                    return 1;
1144     
1145            name = getenv("KCONFIG_AUTOHEADER");
1146            if (!name)
1147                    name = "include/generated/autoconf.h";
>>>     CID 1425116:    (TAINTED_SCALAR)
>>>     Passing tainted variable "name" to a tainted sink.
1148            if (make_parent_dir(name))
1149                    return 1;
1150            char filename_h[PATH_MAX];
1151            int fd_h = conf_mktemp(name, filename_h);
1152            if (fd_h == -1)
1153                    return 1;
/util/kconfig/confdata.c: 1135 in conf_write_autoconf()
1129                    conf_get_autobase_name(), "auto.conf.cmd");
1130            conf_write_dep(autoconfcmd_path);
1131     
1132            if (conf_touch_deps())
1133                    return 1;
1134     
>>>     CID 1425116:    (TAINTED_SCALAR)
>>>     Passing tainted variable "autoconf_name" to a tainted sink.
1135            if (make_parent_dir(autoconf_name))
1136                    return 1;
1137            char filename[PATH_MAX];
1138            int fd = conf_mktemp(autoconf_name, filename);
1139            if (fd == -1)
1140                    return 1;

** CID 1425106:  Resource leaks  (RESOURCE_LEAK)
/util/kconfig/confdata.c: 84 in is_same()


________________________________________________________________________________________________________
*** CID 1425106:  Resource leaks  (RESOURCE_LEAK)
/util/kconfig/confdata.c: 84 in is_same()
78      ret = true;
79     close2:
80      close(fd2);
81     close1:
82      close(fd1);
83     
>>>     CID 1425106:  Resource leaks  (RESOURCE_LEAK)
>>>     Variable "map2" going out of scope leaks the storage it points to.
84      return ret;
85     }
86     
87     /*
88      * Create the parent directory of the given path.
89      *

** CID 1425096:  Insecure data handling  (TAINTED_SCALAR)


________________________________________________________________________________________________________
*** CID 1425096:  Insecure data handling  (TAINTED_SCALAR)
/util/kconfig/confdata.c: 917 in conf_write()
911     
912             if (is_dir(name)) {
913                     fprintf(stderr, "%s: Is a directory\n", name);
914                     return -1;
915             }
916     
>>>     CID 1425096:  Insecure data handling  (TAINTED_SCALAR)
>>>     Passing tainted variable "name" to a tainted sink.
917             if (make_parent_dir(name))
918                     return -1;
919     
920             env = getenv("KCONFIG_OVERWRITECONFIG");
921             if (env && *env) {
922                     *tmpname = 0;

** CID 1425085:  Incorrect expression  (COPY_PASTE_ERROR)
/util/kconfig/expr.c: 537 in expr_join_and()


________________________________________________________________________________________________________
*** CID 1425085:  Incorrect expression  (COPY_PASTE_ERROR)
/util/kconfig/expr.c: 537 in expr_join_and()
531                     // (a) && (a!='n') -> (a)
532                     return expr_alloc_symbol(sym1);
533     
534             if ((e1->type == E_SYMBOL && e2->type == E_UNEQUAL && 
e2->right.sym == &symbol_mod) ||
535                 (e2->type == E_SYMBOL && e1->type == E_UNEQUAL && 
e1->right.sym == &symbol_mod))
536                     // (a) && (a!='m') -> (a='y')
>>>     CID 1425085:  Incorrect expression  (COPY_PASTE_ERROR)
>>>     "symbol_yes" in "&symbol_yes" looks like a copy-paste error.
537                     return expr_alloc_comp(E_EQUAL, sym1, &symbol_yes);
538     
539             if (sym1->type == S_TRISTATE) {
540                     if (e1->type == E_EQUAL && e2->type == E_UNEQUAL) {
541                             // (a='b') && (a!='c') -> 'b'='c' ? 'n' : a='b'
542                             sym2 = e1->right.sym;

** CID 1425081:  Control flow issues  (MISSING_BREAK)
/util/kconfig/expr.c: 1112 in expr_compare_type()


________________________________________________________________________________________________________
*** CID 1425081:  Control flow issues  (MISSING_BREAK)
/util/kconfig/expr.c: 1112 in expr_compare_type()
1106            if (t1 == t2)
1107                    return 0;
1108            switch (t1) {
1109            case E_LEQ:
1110            case E_LTH:
1111            case E_GEQ:
>>>     CID 1425081:  Control flow issues  (MISSING_BREAK)
>>>     The case for value "E_GTH" is not terminated by a 'break' statement.
1112            case E_GTH:
1113                    if (t2 == E_EQUAL || t2 == E_UNEQUAL)
1114                            return 1;
1115            case E_EQUAL:
1116            case E_UNEQUAL:
1117                    if (t2 == E_NOT)

** CID 1425079:  Control flow issues  (UNREACHABLE)
/util/kconfig/expr.c: 1134 in expr_compare_type()


________________________________________________________________________________________________________
*** CID 1425079:  Control flow issues  (UNREACHABLE)
/util/kconfig/expr.c: 1134 in expr_compare_type()
1128            case E_LIST:
1129                    if (t2 == 0)
1130                            return 1;
1131            default:
1132                    return -1;
1133            }
>>>     CID 1425079:  Control flow issues  (UNREACHABLE)
>>>     This code cannot be reached: "printf("[%dgt%d?]", t1, t2);".
1134            printf("[%dgt%d?]", t1, t2);
1135            return 0;
1136     }
1137     
1138     void expr_print(struct expr *e,
1139                    void (*fn)(void *, struct symbol *, const char *),

** CID 1425063:  Null pointer dereferences  (REVERSE_INULL)
/util/kconfig/confdata.c: 526 in conf_read_simple()


________________________________________________________________________________________________________
*** CID 1425063:  Null pointer dereferences  (REVERSE_INULL)
/util/kconfig/confdata.c: 526 in conf_read_simple()
520                                     conf_warning("unexpected data: %.*s",
521                                                  (int)strcspn(line, 
"\r\n"), line);
522     
523                             continue;
524                     }
525     
>>>     CID 1425063:  Null pointer dereferences  (REVERSE_INULL)
>>>     Null-checking "sym" suggests that it may be null, but it has already 
>>> been dereferenced on all paths leading to the check.
526                     if (sym && sym_is_choice_value(sym)) {
527                             struct symbol *cs = 
prop_get_symbol(sym_get_choice_prop(sym));
528                             switch (sym->def[def].tri) {
529                             case no:
530                                     break;
531                             case mod:

** CID 1425039:  Error handling issues  (CHECKED_RETURN)
/util/kconfig/confdata.c: 1039 in conf_write_dep()


________________________________________________________________________________________________________
*** CID 1425039:  Error handling issues  (CHECKED_RETURN)
/util/kconfig/confdata.c: 1039 in conf_write_dep()
1033     
1034            env_write_dep(out, conf_get_autoconfig_name());
1035     
1036            fprintf(out, "\n$(deps_config): ;\n");
1037            fclose(out);
1038     
>>>     CID 1425039:  Error handling issues  (CHECKED_RETURN)
>>>     Calling "rename(filename, name)" without checking return value. This 
>>> library function may fail and return an error code.
1039            rename(filename, name);
1040            return 0;
1041     }
1042     
1043     static int conf_touch_deps(void)
1044     {

** CID 1425010:  Security best practices violations  (DC.WEAK_CRYPTO)
/util/kconfig/conf.c: 251 in conf_set_all_new_symbols()


________________________________________________________________________________________________________
*** CID 1425010:  Security best practices violations  (DC.WEAK_CRYPTO)
/util/kconfig/conf.c: 251 in conf_set_all_new_symbols()
245                                     break;
246                             case def_no:
247                                     sym->def[S_DEF_USER].tri = no;
248                                     break;
249                             case def_random:
250                                     sym->def[S_DEF_USER].tri = no;
>>>     CID 1425010:  Security best practices violations  (DC.WEAK_CRYPTO)
>>>     "rand" should not be used for security-related applications, because 
>>> linear congruential algorithms are too easy to break.
251                                     cnt = rand() % 100;
252                                     if (sym->type == S_TRISTATE) {
253                                             if (cnt < pty)
254                                                     
sym->def[S_DEF_USER].tri = yes;
255                                             else if (cnt < pty + ptm)
256                                                     
sym->def[S_DEF_USER].tri = mod;

** CID 1425007:    (RESOURCE_LEAK)
/util/kconfig/expr.c: 949 in expr_trans_compare()
/util/kconfig/expr.c: 939 in expr_trans_compare()


________________________________________________________________________________________________________
*** CID 1425007:    (RESOURCE_LEAK)
/util/kconfig/expr.c: 949 in expr_trans_compare()
943             case E_OR:
944                     e1 = expr_trans_compare(e->left.expr, E_EQUAL, sym);
945                     e2 = expr_trans_compare(e->right.expr, E_EQUAL, sym);
946                     if (sym == &symbol_yes)
947                             e = expr_alloc_two(E_OR, e1, e2);
948                     if (sym == &symbol_no)
>>>     CID 1425007:    (RESOURCE_LEAK)
>>>     Overwriting "e" in "e = expr_alloc_two(E_AND, e1, e2)" leaks the 
>>> storage that "e" points to.
949                             e = expr_alloc_two(E_AND, e1, e2);
950                     if (type == E_UNEQUAL)
951                             e = expr_alloc_one(E_NOT, e);
952                     return e;
953             case E_NOT:
954                     return expr_trans_compare(e->left.expr, type == E_EQUAL 
? E_UNEQUAL : E_EQUAL, sym);
/util/kconfig/expr.c: 939 in expr_trans_compare()
933             case E_AND:
934                     e1 = expr_trans_compare(e->left.expr, E_EQUAL, sym);
935                     e2 = expr_trans_compare(e->right.expr, E_EQUAL, sym);
936                     if (sym == &symbol_yes)
937                             e = expr_alloc_two(E_AND, e1, e2);
938                     if (sym == &symbol_no)
>>>     CID 1425007:    (RESOURCE_LEAK)
>>>     Overwriting "e" in "e = expr_alloc_two(E_OR, e1, e2)" leaks the storage 
>>> that "e" points to.
939                             e = expr_alloc_two(E_OR, e1, e2);
940                     if (type == E_UNEQUAL)
941                             e = expr_alloc_one(E_NOT, e);
942                     return e;
943             case E_OR:
944                     e1 = expr_trans_compare(e->left.expr, E_EQUAL, sym);

** CID 1424942:    (REVERSE_INULL)
/payloads/coreinfo/build/util/kconfig/lexer.lex.c: 4017 in zconf_fopen()
/payloads/coreinfo/libpayload/util/lp_kconfig/lexer.lex.c: 4017 in zconf_fopen()
/payloads/libpayload/build/util/lp_kconfig/lexer.lex.c: 4017 in zconf_fopen()
/cb-build/coreboot-coverity.0/default/sharedutils/kconfig/lexer.lex.c: 4017 in 
zconf_fopen()
/build/util/kconfig/lexer.lex.c: 4017 in zconf_fopen()
/cb-build/coreboot-coverity.0/chromeos/sharedutils/kconfig/lexer.lex.c: 4017 in 
zconf_fopen()
/payloads/nvramcui/libpayload/util/lp_kconfig/lexer.lex.c: 4017 in zconf_fopen()


________________________________________________________________________________________________________
*** CID 1424942:    (REVERSE_INULL)
/payloads/coreinfo/build/util/kconfig/lexer.lex.c: 4017 in zconf_fopen()
4011     FILE *zconf_fopen(const char *name)
4012     {
4013            char *env, fullname[PATH_MAX+1];
4014            FILE *f;
4015     
4016            f = fopen(name, "r");
>>>     CID 1424942:    (REVERSE_INULL)
>>>     Null-checking "name" suggests that it may be null, but it has already 
>>> been dereferenced on all paths leading to the check.
4017            if (!f && name != NULL && name[0] != '/') {
4018                    env = getenv(SRCTREE);
4019                    if (env) {
4020                            snprintf(fullname, sizeof(fullname),
4021                                     "%s/%s", env, name);
4022                            f = fopen(fullname, "r");
/payloads/coreinfo/libpayload/util/lp_kconfig/lexer.lex.c: 4017 in zconf_fopen()
4011     FILE *zconf_fopen(const char *name)
4012     {
4013            char *env, fullname[PATH_MAX+1];
4014            FILE *f;
4015     
4016            f = fopen(name, "r");
>>>     CID 1424942:    (REVERSE_INULL)
>>>     Null-checking "name" suggests that it may be null, but it has already 
>>> been dereferenced on all paths leading to the check.
4017            if (!f && name != NULL && name[0] != '/') {
4018                    env = getenv(SRCTREE);
4019                    if (env) {
4020                            snprintf(fullname, sizeof(fullname),
4021                                     "%s/%s", env, name);
4022                            f = fopen(fullname, "r");
/payloads/libpayload/build/util/lp_kconfig/lexer.lex.c: 4017 in zconf_fopen()
4011     FILE *zconf_fopen(const char *name)
4012     {
4013            char *env, fullname[PATH_MAX+1];
4014            FILE *f;
4015     
4016            f = fopen(name, "r");
>>>     CID 1424942:    (REVERSE_INULL)
>>>     Null-checking "name" suggests that it may be null, but it has already 
>>> been dereferenced on all paths leading to the check.
4017            if (!f && name != NULL && name[0] != '/') {
4018                    env = getenv(SRCTREE);
4019                    if (env) {
4020                            snprintf(fullname, sizeof(fullname),
4021                                     "%s/%s", env, name);
4022                            f = fopen(fullname, "r");
/cb-build/coreboot-coverity.0/default/sharedutils/kconfig/lexer.lex.c: 4017 in 
zconf_fopen()
4011     FILE *zconf_fopen(const char *name)
4012     {
4013            char *env, fullname[PATH_MAX+1];
4014            FILE *f;
4015     
4016            f = fopen(name, "r");
>>>     CID 1424942:    (REVERSE_INULL)
>>>     Null-checking "name" suggests that it may be null, but it has already 
>>> been dereferenced on all paths leading to the check.
4017            if (!f && name != NULL && name[0] != '/') {
4018                    env = getenv(SRCTREE);
4019                    if (env) {
4020                            snprintf(fullname, sizeof(fullname),
4021                                     "%s/%s", env, name);
4022                            f = fopen(fullname, "r");
/build/util/kconfig/lexer.lex.c: 4017 in zconf_fopen()
4011     FILE *zconf_fopen(const char *name)
4012     {
4013            char *env, fullname[PATH_MAX+1];
4014            FILE *f;
4015     
4016            f = fopen(name, "r");
>>>     CID 1424942:    (REVERSE_INULL)
>>>     Null-checking "name" suggests that it may be null, but it has already 
>>> been dereferenced on all paths leading to the check.
4017            if (!f && name != NULL && name[0] != '/') {
4018                    env = getenv(SRCTREE);
4019                    if (env) {
4020                            snprintf(fullname, sizeof(fullname),
4021                                     "%s/%s", env, name);
4022                            f = fopen(fullname, "r");
/cb-build/coreboot-coverity.0/chromeos/sharedutils/kconfig/lexer.lex.c: 4017 in 
zconf_fopen()
4011     FILE *zconf_fopen(const char *name)
4012     {
4013            char *env, fullname[PATH_MAX+1];
4014            FILE *f;
4015     
4016            f = fopen(name, "r");
>>>     CID 1424942:    (REVERSE_INULL)
>>>     Null-checking "name" suggests that it may be null, but it has already 
>>> been dereferenced on all paths leading to the check.
4017            if (!f && name != NULL && name[0] != '/') {
4018                    env = getenv(SRCTREE);
4019                    if (env) {
4020                            snprintf(fullname, sizeof(fullname),
4021                                     "%s/%s", env, name);
4022                            f = fopen(fullname, "r");
/payloads/nvramcui/libpayload/util/lp_kconfig/lexer.lex.c: 4017 in zconf_fopen()
4011     FILE *zconf_fopen(const char *name)
4012     {
4013            char *env, fullname[PATH_MAX+1];
4014            FILE *f;
4015     
4016            f = fopen(name, "r");
>>>     CID 1424942:    (REVERSE_INULL)
>>>     Null-checking "name" suggests that it may be null, but it has already 
>>> been dereferenced on all paths leading to the check.
4017            if (!f && name != NULL && name[0] != '/') {
4018                    env = getenv(SRCTREE);
4019                    if (env) {
4020                            snprintf(fullname, sizeof(fullname),
4021                                     "%s/%s", env, name);
4022                            f = fopen(fullname, "r");

** CID 1424938:  Control flow issues  (MISSING_BREAK)
/util/kconfig/expr.c: 1125 in expr_compare_type()


________________________________________________________________________________________________________
*** CID 1424938:  Control flow issues  (MISSING_BREAK)
/util/kconfig/expr.c: 1125 in expr_compare_type()
1119            case E_NOT:
1120                    if (t2 == E_AND)
1121                            return 1;
1122            case E_AND:
1123                    if (t2 == E_OR)
1124                            return 1;
>>>     CID 1424938:  Control flow issues  (MISSING_BREAK)
>>>     The case for value "E_OR" is not terminated by a 'break' statement.
1125            case E_OR:
1126                    if (t2 == E_LIST)
1127                            return 1;
1128            case E_LIST:
1129                    if (t2 == 0)
1130                            return 1;


________________________________________________________________________________________________________
To view the defects in Coverity Scan visit, 
https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31OYv50yq2SfQfrHt3Prsn4qSLrYIrajINpiFX8l0vrlNSf8iCrS27qY0Cr0DkycwNUgGZJj8-3DLo7N_L-2FDzr14mnrsJO5b1wX1hp9b1MAQygl7x-2B74RAaH2cn3b48tsEov23jOG3j9TDlIN6Of-2Flv8n1z1FFkZs6qbmDBTzJZuuusHr4eWFg-2BDaW-2B16bN5J9Q3kXMrx9gaXG3pTDoWcIcWnMqUIydrUk17v5toXwmIRCj9D-2Bom0RiVRXP7NGNcmkUdRP7JR3gKp9sTRt0uQZI5SQKnhbWs1cnmHjw-3D-3D

_______________________________________________
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org

Reply via email to