Task #1527 - libchewing-0.6.0-4.fc40/scan-results.err
back to task #1527download
Error: CLANG_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/src/tools/dump_database.c:32: included_from: Included from here. libchewing-0.6.0-build/libchewing-0.6.0/include/internal/memory-private.h:35:12: warning[core.NullDereference]: Array access (from variable 'uptr') results in a null pointer dereference # 33| const unsigned char *uptr = ptr; # 34| # 35|-> val = (uptr[0] << 0) | (uptr[1] << 8); # 36| return val; # 37| } Error: CPPCHECK_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/src/bopomofo.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: COMPILER_WARNING (CWE-563): libchewing-0.6.0-build/libchewing-0.6.0/src/chewing-sql.c: scope_hint: In function ‘TerminateUserphrase’ libchewing-0.6.0-build/libchewing-0.6.0/src/chewing-sql.c:482:9: warning[-Wunused-but-set-variable]: variable ‘ret’ set but not used # 482 | int ret; # | ^~~ # 480| { # 481| size_t i; # 482|-> int ret; # 483| # 484| UpdateLifeTime(pgdata); Error: CLANG_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/src/chewing-sql.c:496:5: warning[deadcode.DeadStores]: Value stored to 'ret' is never read # 494| } # 495| # 496|-> ret = sqlite3_close(pgdata->staticData.db); # 497| assert(SQLITE_OK == ret); # 498| pgdata->staticData.db = NULL; Error: CPPCHECK_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/src/chewingio.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/src/chewingutil.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/src/chewingutil.c: scope_hint: In function ‘RemoveSelectElement’ libchewing-0.6.0-build/libchewing-0.6.0/src/chewingutil.c:957:5: warning[-Wanalyzer-overlapping-buffers]: overlapping buffers passed as arguments to ‘strcpy’ libchewing-0.6.0-build/libchewing-0.6.0/src/chewingutil.c:21: included_from: Included from here. /usr/include/string.h:141:14: note: the behavior of ‘strcpy’ is undefined for overlapping buffers # 955| return; # 956| pgdata->selectInterval[i] = pgdata->selectInterval[pgdata->nSelect]; # 957|-> strcpy(pgdata->selectStr[i], pgdata->selectStr[pgdata->nSelect]); # 958| } # 959| Error: GCC_ANALYZER_WARNING (CWE-457): libchewing-0.6.0-build/libchewing-0.6.0/src/chewingutil.c: scope_hint: In function ‘InitSymbolTable’ libchewing-0.6.0-build/libchewing-0.6.0/src/chewingutil.c:1342:5: warning[-Wanalyzer-use-of-uninitialized-value]: use of uninitialized value ‘entry’ libchewing-0.6.0-build/libchewing-0.6.0/src/chewingutil.c:29: included_from: Included from here. libchewing-0.6.0-build/libchewing-0.6.0/src/chewingutil.c:1283:12: note: in expansion of macro ‘ALC’ libchewing-0.6.0-build/libchewing-0.6.0/src/chewingutil.c:1288:13: note: in expansion of macro ‘ALC’ libchewing-0.6.0-build/libchewing-0.6.0/src/chewingutil.c:1288:13: note: in expansion of macro ‘ALC’ libchewing-0.6.0-build/libchewing-0.6.0/src/chewingutil.c:1288:13: note: in expansion of macro ‘ALC’ # 1340| if (!pgdata->staticData.symbolTable) # 1341| goto error; # 1342|-> memcpy(pgdata->staticData.symbolTable, entry, size); # 1343| # 1344| ret = 0; Error: CLANG_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/src/chewingutil.c:1348:5: warning[core.NonNullParamChecker]: Null pointer passed to 1st parameter expecting 'nonnull' # 1346| free(entry); # 1347| free(line); # 1348|-> fclose(file); # 1349| free(filename); # 1350| return ret; Error: GCC_ANALYZER_WARNING (CWE-476): libchewing-0.6.0-build/libchewing-0.6.0/src/chewingutil.c:1354:9: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘entry’ libchewing-0.6.0-build/libchewing-0.6.0/src/chewingutil.c:1283:12: note: in expansion of macro ‘ALC’ # 1352| error: # 1353| for (i = 0; i < pgdata->staticData.nSymbolEntry; ++i) { # 1354|-> free(entry[i]); # 1355| } # 1356| goto end; Error: CPPCHECK_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/src/choice.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING (CWE-682): libchewing-0.6.0-build/libchewing-0.6.0/src/common/key2pho.c:149: error[nullPointerArithmetic]: Overflow in pointer arithmetic, NULL pointer is subtracted. # 147| pTarget = findptr + 1; # 148| } # 149|-> _index = findptr - key_str[kbtype]; # 150| ueStrNCpy(ueStrSeek(pho, i), ueConstStrSeek(ph_str, _index), 1, STRNCPY_NOT_CLOSE); # 151| } Error: CPPCHECK_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/src/pinyin.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-688): libchewing-0.6.0-build/libchewing-0.6.0/src/pinyin.c: scope_hint: In function ‘PinyinToBopomofo’ libchewing-0.6.0-build/libchewing-0.6.0/src/pinyin.c:194:9: warning[-Wanalyzer-null-argument]: use of NULL ‘initial’ where non-null expected <built-in>: note: argument 2 of ‘__builtin_strcpy’ must be non-null # 192| strcpy(s, seq); # 193| initial = strtok(s, " "); # 194|-> strcpy(bopomofoKeySeq, initial); # 195| initial = strtok(NULL, " "); # 196| strcpy(bopomofoKeySeqAlt, initial); Error: GCC_ANALYZER_WARNING (CWE-688): libchewing-0.6.0-build/libchewing-0.6.0/src/pinyin.c:196:9: warning[-Wanalyzer-null-argument]: use of NULL ‘initial’ where non-null expected <built-in>: note: argument 2 of ‘__builtin_strcpy’ must be non-null # 194| strcpy(bopomofoKeySeq, initial); # 195| initial = strtok(NULL, " "); # 196|-> strcpy(bopomofoKeySeqAlt, initial); # 197| return 0; # 198| } Error: CPPCHECK_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-127): libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c:30: included_from: Included from here. libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c: scope_hint: In function ‘strip’ libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c:143:51: warning[-Wanalyzer-out-of-bounds]: stack-based buffer under-read libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c:143:51: note: valid subscripts for ‘buf’ are ‘[0]’ to ‘[1023]’ # └───────────────────────┘ # ^ # 141| /* remove tailing space */ # 142| end = line + strlen(line) - 1; # 143|-> while (end >= line && isspace((unsigned char) *end)) { # 144| *end = 0; # 145| --end; Error: GCC_ANALYZER_WARNING (CWE-124): libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c:144:14: warning[-Wanalyzer-out-of-bounds]: stack-based buffer underwrite libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c:144:14: note: valid subscripts for ‘buf’ are ‘[0]’ to ‘[1023]’ # 142| end = line + strlen(line) - 1; # 143| while (end >= line && isspace((unsigned char) *end)) { # 144|-> *end = 0; # 145| --end; # 146| } Error: CPPCHECK_WARNING (CWE-457): libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c:311: warning[uninitvar]: Uninitialized variable: &word.index # 309| ueStrNCpy(word.text->phrase, ueStrSeek(phrase_data[num_phrase_data].phrase, i), 1, 1); # 310| word.text->phone[0] = phrase_data[num_phrase_data].phone[i]; # 311|-> found_word = bsearch(&word, word_data, num_word_data, sizeof(word), compare_word_by_text); # 312| if ((found_word == NULL || # 313| (phrase_len == 1 && Error: GCC_ANALYZER_WARNING (CWE-775): libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c: scope_hint: In function ‘read_phone_cin’ libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c:395:21: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(filename, "r")’ # 393| # 394| strip(buf); # 395|-> if (strlen(buf) == 0) # 396| return; # 397| Error: GCC_ANALYZER_WARNING (CWE-401): libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c:395:21: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(filename, "r")’ # 393| # 394| strip(buf); # 395|-> if (strlen(buf) == 0) # 396| return; # 397| Error: GCC_ANALYZER_WARNING (CWE-775): libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c:441:12: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(filename, "r")’ # 439| ret = fgets(buf, sizeof(buf), phone_cin); # 440| ++line_num; # 441|-> if (!ret) { # 442| fprintf(stderr, "%s: No expected %s %s\n", filename, CHARDEF, BEGIN); # 443| exit(-1); Error: GCC_ANALYZER_WARNING (CWE-401): libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c:441:12: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(filename, "r")’ # 439| ret = fgets(buf, sizeof(buf), phone_cin); # 440| ++line_num; # 441|-> if (!ret) { # 442| fprintf(stderr, "%s: No expected %s %s\n", filename, CHARDEF, BEGIN); # 443| exit(-1); Error: GCC_ANALYZER_WARNING (CWE-688): libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c:448:14: warning[-Wanalyzer-null-argument]: use of NULL ‘ret’ where non-null expected libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c:34: included_from: Included from here. /usr/include/string.h:156:12: note: argument 1 of ‘strcmp’ must be non-null # 446| strip(buf); # 447| ret = strtok(buf, " \t"); # 448|-> if (!strcmp(ret, CHARDEF)) { # 449| ret = strtok(NULL, " \t"); # 450| if (!strcmp(ret, BEGIN)) Error: GCC_ANALYZER_WARNING (CWE-775): libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c:450:16: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(filename, "r")’ # 448| if (!strcmp(ret, CHARDEF)) { # 449| ret = strtok(NULL, " \t"); # 450|-> if (!strcmp(ret, BEGIN)) # 451| status = HAS_CHARDEF_BEGIN; # 452| else { Error: GCC_ANALYZER_WARNING (CWE-401): libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c:450:16: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(filename, "r")’ # 448| if (!strcmp(ret, CHARDEF)) { # 449| ret = strtok(NULL, " \t"); # 450|-> if (!strcmp(ret, BEGIN)) # 451| status = HAS_CHARDEF_BEGIN; # 452| else { Error: GCC_ANALYZER_WARNING (CWE-688): libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c:450:18: warning[-Wanalyzer-null-argument]: use of NULL ‘ret’ where non-null expected /usr/include/string.h:156:12: note: argument 1 of ‘strcmp’ must be non-null # 448| if (!strcmp(ret, CHARDEF)) { # 449| ret = strtok(NULL, " \t"); # 450|-> if (!strcmp(ret, BEGIN)) # 451| status = HAS_CHARDEF_BEGIN; # 452| else { Error: GCC_ANALYZER_WARNING (CWE-775): libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c:462:12: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(filename, "r")’ # 460| ret = fgets(buf, sizeof(buf), phone_cin); # 461| ++line_num; # 462|-> if (!ret) { # 463| fprintf(stderr, "%s: No expected %s %s\n", filename, CHARDEF, END); # 464| exit(-1); Error: GCC_ANALYZER_WARNING (CWE-401): libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c:462:12: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(filename, "r")’ # 460| ret = fgets(buf, sizeof(buf), phone_cin); # 461| ++line_num; # 462|-> if (!ret) { # 463| fprintf(stderr, "%s: No expected %s %s\n", filename, CHARDEF, END); # 464| exit(-1); Error: GCC_ANALYZER_WARNING (CWE-775): libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c:471:16: warning[-Wanalyzer-file-leak]: leak of FILE ‘fopen(filename, "r")’ # 469| strtok(buf, " \t"); # 470| ret = strtok(NULL, " \t"); # 471|-> if (!strcmp(ret, END)) # 472| status = HAS_CHARDEF_END; # 473| else { Error: GCC_ANALYZER_WARNING (CWE-401): libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c:471:16: warning[-Wanalyzer-malloc-leak]: leak of ‘fopen(filename, "r")’ # 469| strtok(buf, " \t"); # 470| ret = strtok(NULL, " \t"); # 471|-> if (!strcmp(ret, END)) # 472| status = HAS_CHARDEF_END; # 473| else { Error: GCC_ANALYZER_WARNING (CWE-688): libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c:471:18: warning[-Wanalyzer-null-argument]: use of NULL ‘ret’ where non-null expected /usr/include/string.h:156:12: note: argument 1 of ‘strcmp’ must be non-null # 469| strtok(buf, " \t"); # 470| ret = strtok(NULL, " \t"); # 471|-> if (!strcmp(ret, END)) # 472| status = HAS_CHARDEF_END; # 473| else { Error: GCC_ANALYZER_WARNING (CWE-476): libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c: scope_hint: In function ‘write_index_tree’ libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c:650:19: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘queue’ libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c:44: included_from: Included from here. libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c:647:13: note: in expansion of macro ‘ALC’ libchewing-0.6.0-build/libchewing-0.6.0/src/tools/init_database.c:647:13: note: in expansion of macro ‘ALC’ # 648| assert(queue); # 649| # 650|-> queue[head++] = root; # 651| while (head != tail) { # 652| p = queue[tail++]; Error: CPPCHECK_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/src/tree.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: GCC_ANALYZER_WARNING (CWE-476): libchewing-0.6.0-build/libchewing-0.6.0/src/tree.c: scope_hint: In function ‘CheckUserChoose’ libchewing-0.6.0-build/libchewing-0.6.0/src/tree.c:155:17: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘p_phr’ libchewing-0.6.0-build/libchewing-0.6.0/src/tree.c: scope_hint: In function ‘CheckUserChoose’ libchewing-0.6.0-build/libchewing-0.6.0/src/tree.c:31: included_from: Included from here. libchewing-0.6.0-build/libchewing-0.6.0/src/tree.c:129:21: note: in expansion of macro ‘ALC’ # 153| if (pUserPhraseData == NULL) # 154| goto end; # 155|-> p_phr->freq = -1; # 156| do { # 157| for (chno = 0; chno < nSelect; chno++) { Error: GCC_ANALYZER_WARNING (CWE-476): libchewing-0.6.0-build/libchewing-0.6.0/src/tree.c: scope_hint: In function ‘SaveRecord’ libchewing-0.6.0-build/libchewing-0.6.0/src/tree.c:705:15: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘now’ libchewing-0.6.0-build/libchewing-0.6.0/src/tree.c:702:11: note: in expansion of macro ‘ALC’ libchewing-0.6.0-build/libchewing-0.6.0/src/tree.c:702:11: note: in expansion of macro ‘ALC’ # 703| # 704| assert(now); # 705|-> now->next = ptd->phList; # 706| now->arrIndex = ALC(int, nInter); # 707| Error: GCC_ANALYZER_WARNING (CWE-688): libchewing-0.6.0-build/libchewing-0.6.0/src/tree.c:710:5: warning[-Wanalyzer-possible-null-argument]: use of possibly-NULL ‘calloc((long unsigned int)nInter, 4)’ where non-null expected libchewing-0.6.0-build/libchewing-0.6.0/src/tree.c:702:11: note: in expansion of macro ‘ALC’ libchewing-0.6.0-build/libchewing-0.6.0/src/tree.c:706:21: note: in expansion of macro ‘ALC’ <built-in>: note: argument 1 of ‘__builtin_memcpy’ must be non-null # 708| assert(now->arrIndex); # 709| now->nInter = nInter; # 710|-> memcpy(now->arrIndex, record, nInter * sizeof(int)); # 711| ptd->phList = now; # 712| } Error: CLANG_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/src/tree.c:829:18: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from variable 'former') # 827| former = tdt->phList; # 828| for (i = 0; i < ppo->nNumCut - 1; i++) { # 829|-> former = former->next; # 830| assert(former); # 831| } Error: CLANG_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/src/tree.c:836:20: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from field 'next') # 834| want = former->next; # 835| assert(want); # 836|-> former->next = former->next->next; # 837| # 838| /* prepend to front of list */ Error: CLANG_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/src/tree.c:1005:1: warning[unix.Malloc]: Potential memory leak # 1003| for (end = 0; end < pgdata->nPhoneSeq - 1; ++end) # 1004| FreeRecord(highest_score[end]); # 1005|-> } # 1006| # 1007| int Phrasing(ChewingData *pgdata, int all_phrasing) Error: CPPCHECK_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/src/userphrase-sql.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/test/randkeystroke.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/test/stress.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/test/stress.c:95:13: warning[core.NonNullParamChecker]: Null pointer passed to 1st parameter expecting 'nonnull' # 93| # 94| for (i = 1; i < argc; i++) { # 95|-> if (strcmp(argv[i], "-init") == 0) # 96| flag_random_init = 1; # 97| else if (strcmp(argv[i], "-extra") == 0) Error: GCC_ANALYZER_WARNING (CWE-775): libchewing-0.6.0-build/libchewing-0.6.0/test/stress.c: scope_hint: In function ‘main’ libchewing-0.6.0-build/libchewing-0.6.0/test/stress.c:105:22: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘input_fd’ # 103| flag_loop = atoi(argv[++i]); # 104| else if (strcmp(argv[i], "-stdin") == 0) { # 105|-> input_fd = 0; # 106| get_input = &read_from_fd; # 107| } else if (strcmp(argv[i], "-file") == 0 && argv[i + 1]) { Error: CLANG_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/test/test-config.c:50:9: warning[core.NonNullParamChecker]: Null pointer passed to 1st parameter expecting 'nonnull' # 48| select_key = chewing_get_selKey(ctx); # 49| ok(select_key, "chewing_get_selKey shall not return NULL"); # 50|-> ok(!memcmp(select_key, DEFAULT_SELECT_KEY, # 51| sizeof(DEFAULT_SELECT_KEY)), "default select key shall be default value"); # 52| chewing_free(select_key); Error: CLANG_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/test/test-config.c:187:9: warning[core.NonNullParamChecker]: Null pointer passed to 1st parameter expecting 'nonnull' # 185| select_key = chewing_get_selKey(ctx); # 186| ok(select_key, "chewing_get_selKey shall not return NULL"); # 187|-> ok(!memcmp(select_key, ALTERNATE_SELECT_KEY, # 188| sizeof(ALTERNATE_SELECT_KEY)), "select key shall be ALTERNATE_SELECT_KEY"); # 189| Error: CLANG_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/test/test-config.c:209:9: warning[core.NonNullParamChecker]: Null pointer passed to 1st parameter expecting 'nonnull' # 207| select_key = chewing_get_selKey(ctx); # 208| ok(select_key, "chewing_get_selKey shall not return NULL"); # 209|-> ok(!memcmp(select_key, DEFAULT_SELECT_KEY, sizeof(DEFAULT_SELECT_KEY)), "select key shall be DEFAULT_SELECT_KEY"); # 210| chewing_free(select_key); # 211| Error: CLANG_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/test/test-config.c:215:9: warning[core.NonNullParamChecker]: Null pointer passed to 1st parameter expecting 'nonnull' # 213| select_key = chewing_get_selKey(ctx); # 214| ok(select_key, "chewing_get_selKey shall not return NULL"); # 215|-> ok(!memcmp(select_key, DEFAULT_SELECT_KEY, sizeof(DEFAULT_SELECT_KEY)), "select key shall be DEFAULT_SELECT_KEY"); # 216| chewing_free(select_key); # 217| Error: CLANG_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/test/test-config.c:221:9: warning[core.NonNullParamChecker]: Null pointer passed to 1st parameter expecting 'nonnull' # 219| select_key = chewing_get_selKey(ctx); # 220| ok(select_key, "chewing_get_selKey shall not return NULL"); # 221|-> ok(!memcmp(select_key, DEFAULT_SELECT_KEY, sizeof(DEFAULT_SELECT_KEY)), "select key shall be DEFAULT_SELECT_KEY"); # 222| chewing_free(select_key); # 223| Error: CLANG_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/test/test-config.c:227:9: warning[core.NonNullParamChecker]: Null pointer passed to 1st parameter expecting 'nonnull' # 225| select_key = chewing_get_selKey(ctx); # 226| ok(select_key, "chewing_get_selKey shall not return NULL"); # 227|-> ok(!memcmp(select_key, DEFAULT_SELECT_KEY, sizeof(DEFAULT_SELECT_KEY)), "select key shall be DEFAULT_SELECT_KEY"); # 228| chewing_free(select_key); # 229| Error: CPPCHECK_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/test/testhelper.c: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/test/testhelper.c:144:17: warning[deadcode.DeadStores]: Value stored to 'current_keylen' is never read # 142| for (key_entry = chewing_test_special_keys; key_entry->key; key_entry++) { # 143| if (strcmp(key_entry->str, current_key) == 0) { # 144|-> current_keylen = 0; # 145| return key_entry->key; # 146| } Error: CLANG_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/test/testhelper.c:153:13: warning[deadcode.DeadStores]: Value stored to 'partial_match' is never read # 151| /* special case: partial match but not special key */ # 152| if (strcmp(current_key, "<<") == 0 || strcmp(current_key, "<>") == 0) { # 153|-> partial_match = 1; # 154| continue; # 155| } Error: CLANG_WARNING: libchewing-0.6.0-build/libchewing-0.6.0/test/testhelper.c:157:13: warning[deadcode.DeadStores]: Value stored to 'current_keylen' is never read # 155| } # 156| if (strcmp(current_key, "<<>") == 0 || strcmp(current_key, "<>>") == 0) { # 157|-> current_keylen = 0; # 158| return current_key[1]; # 159| }