Task #1277 - tesseract-5.4.1-1.fc41/scan-results.err
back to task #1277download
Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/api/altorenderer.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/api/baseapi.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/api/capi.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/api/hocrrenderer.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/api/lstmboxrenderer.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/api/pagerenderer.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/api/pdfrenderer.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/api/renderer.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/api/wordstrboxrenderer.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/arch/intsimdmatrix.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/arch/simddetect.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/adaptions.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/applybox.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: COMPILER_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/applybox.cpp: scope_hint: In member function ‘FindSegmentation’ tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/applybox.cpp:548:66: warning[-Walloc-size-larger-than=]: argument 1 value ‘18446744073709551615’ exceeds maximum object size 9223372036854775807 # 548 | auto *choices = new std::vector<BLOB_CHOICE_LIST *>[word_length]; # | ^ /usr/include/c++/14/new:133:26: note: in a call to allocation function ‘operator new []’ declared here # 133 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc) # | ^ # 546| // Classify all required combinations of blobs and save results in choices. # 547| const int word_length = word_res->box_word->length(); # 548|-> auto *choices = new std::vector<BLOB_CHOICE_LIST *>[word_length]; # 549| for (int i = 0; i < word_length; ++i) { # 550| for (int j = 1; j <= kMaxGroupSize && i + j <= word_length; ++j) { Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/control.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/docqual.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/docqual.cpp:234:13: warning[deadcode.DeadStores]: Although the value stored to 'word' is used in the enclosing expression, the value is never actually read from 'word' # 232| page_res_it.restart_page(); # 233| WERD_RES *word; # 234|-> while ((word = page_res_it.word()) != nullptr) { # 235| current_block = page_res_it.block(); # 236| int16_t block_no = current_block->block->pdblk.index(); Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/equationdetect.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/equationdetect.cpp:210:48: warning[core.CallAndMessage]: Called C++ object pointer is null # 208| # 209| if (type == BSTT_NONE && # 210|-> lang_tesseract_->get_fontinfo_table().at(lang_choice->fontinfo_id()).is_italic()) { # 211| // For text symbol, we still check if it is italic. # 212| blobnbox->set_special_text_type(BSTT_ITALIC); Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/fixspace.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/fixspace.cpp:729:24: warning[core.UndefinedBinaryOperatorResult]: The left operand of '>=' is a garbage value # 727| int i; # 728| for (i = 0; static_cast<unsigned>(i) < blob_count && non_noise_count < fixsp_non_noise_limit; i++) { # 729|-> if (noise_score[i] >= non_noise_limit) { # 730| non_noise_count++; # 731| } Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/fixspace.cpp:758:24: warning[core.UndefinedBinaryOperatorResult]: The left operand of '<' is a garbage value # 756| worst_noise_blob = -1; # 757| for (auto i = min_noise_blob; i <= max_noise_blob; i++) { # 758|-> if (noise_score[i] < *worst_noise_score) { # 759| worst_noise_blob = i; # 760| *worst_noise_score = noise_score[i]; Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/fixxht.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/linerec.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/ltrresultiterator.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/osdetect.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/osdetect.cpp:477:17: warning[deadcode.DeadStores]: Value stored to 'unichar' during its initialization is never read # 475| int prev_fontinfo_id = -1; # 476| const char *prev_unichar = ""; # 477|-> const char *unichar = ""; # 478| # 479| for (choice_it.mark_cycle_pt(); !choice_it.cycled_list(); choice_it.forward()) { Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/output.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/pageiterator.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/pageiterator.cpp:92:13: warning[cplusplus.NewDelete]: Use of memory after it is freed # 90| rect_height_ = src.rect_height_; # 91| delete it_; # 92|-> it_ = new PAGE_RES_IT(*src.it_); # 93| BeginWord(src.blob_index_); # 94| return *this; Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/pagesegmain.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/pagewalk.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/par_control.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/paragraphs.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/paramsd.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/pgedit.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/recogtraining.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/reject.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/resultiterator.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/resultiterator.cpp:516:7: warning[deadcode.DeadStores]: Value stored to 'level' is never read # 514| return true; # 515| } # 516|-> level = RIL_WORD; // we've fallen through to the next word. # 517| } # 518| // Fall through. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/superscript.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/tessbox.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/tessedit.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/tesseractclass.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/tfacepp.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/thresholder.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/werdit.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/blamer.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/blamer.cpp:380:11: warning[core.CallAndMessage]: Called C++ object pointer is null # 378| } # 379| ASSERT_HOST(first_choice != nullptr); # 380|-> if (first_choice->unichar_id() != word->best_choice->unichar_id(i)) { # 381| best_choice_is_dict_and_top_choice_ = false; # 382| break; Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/blobbox.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/blobs.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/blread.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/boxread.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/boxread.cpp:164:9: warning[deadcode.DeadStores]: Value stored to 'buffptr' during its initialization is never read # 162| int page = 0; # 163| char buff[kBoxReadBufSize]; // boxfile read buffer # 164|-> char *buffptr = buff; # 165| # 166| while (fgets(buff, sizeof(buff) - 1, box_file)) { Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/boxword.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/ccstruct.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/coutln.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/detlinefit.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/dppoint.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/fontinfo.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/imagedata.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/imagedata.cpp:340:5: warning[deadcode.DeadStores]: Value stored to 'ret' is never read # 338| ret = pixWriteMem(&data, &size, pix, IFF_PNG); # 339| if (ret) { # 340|-> ret = pixWriteMem(&data, &size, pix, IFF_PNM); # 341| } # 342| pix.destroy(); Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/linlsq.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/matrix.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/common/ctc.cpp:18: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/training/common/ctc.h:23: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/lstm/network.h:22: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/matrix.h:264:38: warning[core.NullDereference]: Array access (via field 'array_') results in a null pointer dereference # 262| } # 263| void put(int column, int row, const T &thing) { # 264|-> array_[this->index(column, row)] = thing; # 265| } # 266| Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/wordrec/chopper.cpp:24: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/blamer.h:30: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/ratngs.h:31: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/matrix.h:272:5: warning[core.uninitialized.UndefReturn]: Undefined or garbage value returned to caller # 270| } # 271| T get(int column, int row) const { # 272|-> return array_[this->index(column, row)]; # 273| } # 274| // Return a reference to the element at the specified location. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/matrix.h:272:12: warning[core.NullDereference]: Array access (via field 'array_') results in a null pointer dereference # 270| } # 271| T get(int column, int row) const { # 272|-> return array_[this->index(column, row)]; # 273| } # 274| // Return a reference to the element at the specified location. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/matrix.h:276:5: warning[core.uninitialized.UndefReturn]: Returning null reference # 274| // Return a reference to the element at the specified location. # 275| const T &operator()(int column, int row) const { # 276|-> return array_[this->index(column, row)]; # 277| } # 278| T &operator()(int column, int row) { Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/mod128.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/normalis.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/normalis.cpp:192:17: warning[core.UndefinedBinaryOperatorResult]: The right operand of '<' is a garbage value # 190| int gap = x_edge - x; # 191| while (x < x_edge) { # 192|-> if (gap < (*minruns)(x, iy)) { # 193| (*minruns)(x, iy) = gap; # 194| } Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/ocrblock.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/ocrpara.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/ocrrow.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/otsuthr.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/pageres.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/pdblock.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/points.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/polyaprx.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/polyblk.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/polyblk.cpp:362:7: warning[deadcode.DeadStores]: Value stored to 'x' is never read # 360| r.sort(lessthan); # 361| for (r.mark_cycle_pt(); !r.cycled_list(); r.forward()) { # 362|-> x = r.data(); # 363| } # 364| for (r.mark_cycle_pt(); !r.cycled_list(); r.forward()) { Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/quadlsq.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/quspline.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/quspline.cpp:119:89: warning[core.DivideZero]: Division by zero # 117| qlsq.add(xstarts[segment + 1], # 118| ypts[pointindex - 1] + (ypts[pointindex] - ypts[pointindex - 1]) * # 119|-> (xstarts[segment + 1] - xpts[pointindex - 1]) / # 120| (xpts[pointindex] - xpts[pointindex - 1])); # 121| } Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/ratngs.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/rect.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/seam.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/split.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/statistc.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/stepblob.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/werd.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/ambigs.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/dict/stopper.cpp:25: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/ambigs.h:61:31: warning[core.NullDereference]: Dereference of null pointer # 59| for (;;) { # 60| const UNICHAR_ID val1 = *ptr1++; # 61|-> const UNICHAR_ID val2 = *ptr2++; # 62| if (val1 != val2) { # 63| if (val1 == INVALID_UNICHAR_ID) { Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/ambigs.cpp:20: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/ambigs.h:95:9: warning[core.NullDereference]: Dereference of null pointer (loaded from variable 'ptr') # 93| static inline void print(const UNICHAR_ID array[], const UNICHARSET &unicharset) { # 94| const UNICHAR_ID *ptr = array; # 95|-> if (*ptr == INVALID_UNICHAR_ID) { # 96| tprintf("[Empty]"); # 97| } Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/bitvector.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/ccutil.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/clst.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/clst.cpp:329:33: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from field 'current') # 327| if (other_it->next == current) { # 328| other_it->prev->next = current; # 329|-> other_it->current->next = next; # 330| current->next = other_it->current; # 331| other_it->next = other_it->current; Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/clst.cpp:330:23: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from field 'current') # 328| other_it->prev->next = current; # 329| other_it->current->next = next; # 330|-> current->next = other_it->current; # 331| other_it->next = other_it->current; # 332| prev = current; Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/clst.cpp:335:23: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from field 'current') # 333| } else { // this before other # 334| prev->next = other_it->current; # 335|-> current->next = other_it->next; # 336| other_it->current->next = current; # 337| next = current; Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/clst.cpp:336:33: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from field 'current') # 334| prev->next = other_it->current; # 335| current->next = other_it->next; # 336|-> other_it->current->next = current; # 337| next = current; # 338| other_it->prev = other_it->current; Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/clst.cpp:343:19: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from field 'current') # 341| } else { // no overlap # 342| prev->next = other_it->current; # 343|-> current->next = other_it->next; # 344| other_it->prev->next = current; # 345| other_it->current->next = next; Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/clst.cpp:345:29: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from field 'current') # 343| current->next = other_it->next; # 344| other_it->prev->next = current; # 345|-> other_it->current->next = next; # 346| } # 347| Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/clst.cpp:427:27: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from field 'current') # 425| # 426| // circularise sublist # 427|-> other_it->current->next = current; # 428| auto end_of_new_list = other_it->current; # 429| Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst.cpp:194:10: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from field 'current') # 192| NULL_DATA.error("ELIST_ITERATOR::forward", ABORT); # 193| #endif # 194|-> next = current->next; # 195| # 196| #ifndef NDEBUG Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst.cpp:318:33: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from field 'current') # 316| if (other_it->next == current) { # 317| other_it->prev->next = current; # 318|-> other_it->current->next = next; # 319| current->next = other_it->current; # 320| other_it->next = other_it->current; Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst.cpp:319:23: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from field 'current') # 317| other_it->prev->next = current; # 318| other_it->current->next = next; # 319|-> current->next = other_it->current; # 320| other_it->next = other_it->current; # 321| prev = current; Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst.cpp:324:23: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from field 'current') # 322| } else { // this before other # 323| prev->next = other_it->current; # 324|-> current->next = other_it->next; # 325| other_it->current->next = current; # 326| next = current; Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst.cpp:325:33: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from field 'current') # 323| prev->next = other_it->current; # 324| current->next = other_it->next; # 325|-> other_it->current->next = current; # 326| next = current; # 327| other_it->prev = other_it->current; Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst.cpp:332:19: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from field 'current') # 330| } else { // no overlap # 331| prev->next = other_it->current; # 332|-> current->next = other_it->next; # 333| other_it->prev->next = current; # 334| other_it->current->next = next; Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst.cpp:334:29: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from field 'current') # 332| current->next = other_it->next; # 333| other_it->prev->next = current; # 334|-> other_it->current->next = next; # 335| } # 336| Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst.cpp:423:27: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from field 'current') # 421| # 422| // circularise sublist # 423|-> other_it->current->next = current; # 424| end_of_new_list = other_it->current; # 425| Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccmain/tfacepp.cpp:21: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/blamer.h:26: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/boxword.h:22: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/rect.h:22: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/points.h:22: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst.h:361:18: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from field 'prev') # 359| } # 360| } else { // current extracted # 361|-> prev->next = new_element; # 362| if (ex_current_was_last) { # 363| list->last = new_element; Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst.h:543:20: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from field 'prev') # 541| next = current->next; # 542| } else { // current extracted # 543|-> prev->next = list_to_add->First(); # 544| if (ex_current_was_last) { # 545| list->last = list_to_add->last; Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/pitsync1.cpp:19: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/textord/pitsync1.h:23: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/blobbox.h:22: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst.h:627:16: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from field 'prev') # 625| prev = next = list->last = nullptr; # 626| } else { # 627|-> prev->next = next; // remove from list # 628| # 629| ex_current_was_last = (current == list->last); Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/polyblk.cpp:23: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/polyblk.h:21: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst.h:637:24: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from variable 'extracted_link') # 635| ex_current_was_cycle_pt = (current == cycle_pt); # 636| extracted_link = current; # 637|-> extracted_link->next = nullptr; // for safety # 638| current = nullptr; # 639| return extracted_link; Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst2.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst2.cpp:189:10: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from field 'current') # 187| #endif # 188| # 189|-> next = current->next; # 190| # 191| #ifndef NDEBUG Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst2.cpp:336:33: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from field 'current') # 334| if (other_it->next == current) { # 335| other_it->prev->next = current; # 336|-> other_it->current->next = next; # 337| other_it->current->prev = current; # 338| current->next = other_it->current; Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst2.cpp:338:23: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from field 'current') # 336| other_it->current->next = next; # 337| other_it->current->prev = current; # 338|-> current->next = other_it->current; # 339| current->prev = other_it->prev; # 340| next->prev = other_it->current; Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst2.cpp:346:23: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from field 'current') # 344| } else { // this before other # 345| prev->next = other_it->current; # 346|-> current->next = other_it->next; # 347| current->prev = other_it->current; # 348| other_it->current->next = current; Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst2.cpp:348:33: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from field 'current') # 346| current->next = other_it->next; # 347| current->prev = other_it->current; # 348|-> other_it->current->next = current; # 349| other_it->current->prev = prev; # 350| other_it->next->prev = current; Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst2.cpp:358:19: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from field 'current') # 356| } else { // no overlap # 357| prev->next = other_it->current; # 358|-> current->next = other_it->next; # 359| current->prev = other_it->prev; # 360| next->prev = other_it->current; Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst2.cpp:362:29: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from field 'current') # 360| next->prev = other_it->current; # 361| other_it->prev->next = current; # 362|-> other_it->current->next = next; # 363| other_it->current->prev = prev; # 364| other_it->next->prev = current; Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst2.cpp:455:27: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from field 'current') # 453| # 454| // circularise sublist # 455|-> other_it->current->next = current; # 456| // circularise sublist # 457| current->prev = other_it->current; Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/workingpartset.cpp:21: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/textord/workingpartset.h:24: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/blobbox.h:23: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst2.h:321:16: warning[core.NullDereference]: Access to field 'prev' results in a dereference of a null pointer (loaded from field 'next') # 319| } else { # 320| new_element->next = next; # 321|-> next->prev = new_element; # 322| # 323| if (current) { // not extracted Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst2.cpp:19: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst2.h:433:18: warning[core.NullDereference]: Access to field 'prev' results in a dereference of a null pointer (loaded from field 'next') # 431| } else { // current extracted # 432| new_element->next = next; # 433|-> next->prev = new_element; # 434| if (ex_current_was_last) { # 435| list->last = new_element; Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/ocrblock.cpp:19: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/ocrblock.h:23: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/ocrrow.h:27: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/werd.h:22: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst2.h:537:20: warning[core.NullDereference]: Access to field 'prev' results in a dereference of a null pointer (loaded from field 'next') # 535| } # 536| list_to_add->last->next = next; # 537|-> next->prev = list_to_add->last; # 538| next = prev->next; # 539| } Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst2.h:621:16: warning[core.NullDereference]: Access to field 'prev' results in a dereference of a null pointer (loaded from field 'next') # 619| } else { # 620| prev->next = next; // remove from list # 621|-> next->prev = prev; # 622| # 623| if (current == list->last) { Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/tordmain.cpp:25: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/textord/tordmain.h:22: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/blobbox.h:23: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/elst2.h:633:24: warning[core.NullDereference]: Access to field 'next' results in a dereference of a null pointer (loaded from variable 'extracted_link') # 631| ex_current_was_cycle_pt = (current == cycle_pt); # 632| extracted_link = current; # 633|-> extracted_link->next = nullptr; // for safety # 634| extracted_link->prev = nullptr; // for safety # 635| current = nullptr; Error: CPPCHECK_WARNING (CWE-457): tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/genericvector.h:773: error[uninitvar]: Uninitialized variable: empty # 771| } # 772| T empty; # 773|-> init_to_size(reserved, empty); # 774| for (int i = 0; i < reserved; ++i) { # 775| if (!data_[i].DeSerialize(fp)) { Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/indexmapbidi.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/params.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/scanutils.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/serialis.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/fontinfo.cpp:19: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccstruct/fontinfo.h:25: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/genericvector.h:22: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/helpers.h:34: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/serialis.h:56:10: warning[unix.StdCLibraryFunctions]: The 1st argument to 'fwrite' is a buffer with size 2 but should be a buffer with size equal to or greater than the value of the 2nd argument (which is 2) times the 3rd argument (which is 2) # 54| template <typename T> # 55| bool Serialize(FILE *fp, const T *data, size_t n = 1) { # 56|-> return fwrite(data, sizeof(T), n, fp) == n; # 57| } # 58| Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/tessdatamanager.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/unicharcompress.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/unicharset.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING (CWE-398): tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/unicharset.cpp:218: error[containerOutOfBounds]: Out of bounds access in expression 'lengths[0]' because 'lengths' is empty. # 216| return 0; # 217| } # 218|-> return lengths[0]; # 219| } # 220| Error: COMPILER_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/unicharset.cpp:19: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/unicharset.h: scope_hint: In function ‘tesseract::CHAR_FRAGMENT::parse_from_string(char const*)’ tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/unicharset.h:67:12: warning[-Wstringop-truncation]: ‘strncpy’ output may be truncated copying 30 bytes from a string of length 30 # 67 | strncpy(this->unichar, uch, sizeof(this->unichar)); # | ^ # 65| } # 66| inline void set_unichar(const char *uch) { # 67|-> strncpy(this->unichar, uch, sizeof(this->unichar)); # 68| this->unichar[UNICHAR_LEN] = '\0'; # 69| } Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/adaptive.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/adaptmatch.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/adaptmatch.cpp:875:9: warning[core.uninitialized.Assign]: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage # 873| for (int cfg = 0; cfg < IClass->NumConfigs; ++cfg) { # 874| if (GetFontinfoId(Class, cfg) == FontinfoId) { # 875|-> SET_BIT(MatchingFontConfigs, cfg); # 876| } else { # 877| reset_bit(MatchingFontConfigs, cfg); Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/adaptmatch.cpp:877:9: warning[core.uninitialized.Assign]: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage # 875| SET_BIT(MatchingFontConfigs, cfg); # 876| } else { # 877|-> reset_bit(MatchingFontConfigs, cfg); # 878| } # 879| } Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/adaptmatch.cpp:1799:5: warning[deadcode.DeadStores]: Value stored to 'A2' is never read # 1797| X2 = F2->Params[PicoFeatX]; # 1798| Y2 = F2->Params[PicoFeatY]; # 1799|-> A2 = F2->Params[PicoFeatDir]; # 1800| # 1801| Pid = AddIntProto(IClass); Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/blobclass.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/classify.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/cluster.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/cluster.cpp:2156:3: warning[core.uninitialized.Assign]: Assigned value is garbage or undefined # 2154| } # 2155| --Fy; # 2156|-> double FTarget = FTable[Fy][Fx]; # 2157| if (Config->MagicSamples > 0 && TotalDims >= Config->MagicSamples * (1.0 - kMagicSampleMargin) && # 2158| TotalDims <= Config->MagicSamples * (1.0 + kMagicSampleMargin)) { Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/clusttool.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/clusttool.cpp:222:66: warning[core.UndefinedBinaryOperatorResult]: The right operand of '*' is a garbage value # 220| Proto->TotalMagnitude = 1.0; # 221| for (i = 0; i < N; i++) { # 222|-> Proto->Magnitude.Elliptical[i] = 1.0f / sqrt(2.0f * M_PI * Proto->Variance.Elliptical[i]); # 223| Proto->Weight.Elliptical[i] = 1.0f / Proto->Variance.Elliptical[i]; # 224| Proto->TotalMagnitude *= Proto->Magnitude.Elliptical[i]; Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/cutoffs.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/featdefs.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/float2int.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/intfeaturespace.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/intfx.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/intmatcher.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/intmatcher.cpp:194:36: warning[core.uninitialized.Assign]: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage # 192| } # 193| */ # 194|-> class_count_[class_id++] += pruner_word & CLASS_PRUNER_CLASS_MASK; # 195| pruner_word >>= NUM_BITS_PER_CLASS; # 196| class_count_[class_id++] += pruner_word & CLASS_PRUNER_CLASS_MASK; Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/intmatcher.cpp:196:36: warning[core.uninitialized.Assign]: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage # 194| class_count_[class_id++] += pruner_word & CLASS_PRUNER_CLASS_MASK; # 195| pruner_word >>= NUM_BITS_PER_CLASS; # 196|-> class_count_[class_id++] += pruner_word & CLASS_PRUNER_CLASS_MASK; # 197| pruner_word >>= NUM_BITS_PER_CLASS; # 198| class_count_[class_id++] += pruner_word & CLASS_PRUNER_CLASS_MASK; Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/intmatcher.cpp:198:36: warning[core.uninitialized.Assign]: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage # 196| class_count_[class_id++] += pruner_word & CLASS_PRUNER_CLASS_MASK; # 197| pruner_word >>= NUM_BITS_PER_CLASS; # 198|-> class_count_[class_id++] += pruner_word & CLASS_PRUNER_CLASS_MASK; # 199| pruner_word >>= NUM_BITS_PER_CLASS; # 200| class_count_[class_id++] += pruner_word & CLASS_PRUNER_CLASS_MASK; Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/intmatcher.cpp:200:36: warning[core.uninitialized.Assign]: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage # 198| class_count_[class_id++] += pruner_word & CLASS_PRUNER_CLASS_MASK; # 199| pruner_word >>= NUM_BITS_PER_CLASS; # 200|-> class_count_[class_id++] += pruner_word & CLASS_PRUNER_CLASS_MASK; # 201| pruner_word >>= NUM_BITS_PER_CLASS; # 202| class_count_[class_id++] += pruner_word & CLASS_PRUNER_CLASS_MASK; Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/intmatcher.cpp:240:36: warning[core.UndefinedBinaryOperatorResult]: The left operand of '*' is a garbage value # 238| int deficit = expected_num_features[class_id] - num_features_; # 239| class_count_[class_id] -= # 240|-> class_count_[class_id] * deficit / (num_features_ * cutoff_strength + deficit); # 241| } # 242| } Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/intmatcher.cpp:240:36: warning[core.UndefinedBinaryOperatorResult]: The left operand of '*' is a garbage value due to array index out of bounds # 238| int deficit = expected_num_features[class_id] - num_features_; # 239| class_count_[class_id] -= # 240|-> class_count_[class_id] * deficit / (num_features_ * cutoff_strength + deficit); # 241| } # 242| } Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/intmatcher.cpp:367:30: warning[core.NullDereference]: Array access (from variable 'normalization_factors') results in a null pointer dereference # 365| "%s:Initial=%d, E=%d, Xht-adj=%d, N=%d, Rat=%.2f\n", class_string.c_str(), # 366| class_count_[class_id], expected_num_features[class_id], # 367|-> (norm_multiplier * normalization_factors[class_id]) >> 8, sort_key_[num_classes_ - i], # 368| 100.0 - 100.0 * sort_key_[num_classes_ - i] / (CLASS_PRUNER_CLASS_MASK * num_features_)); # 369| } Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/intmatcher.cpp:954:37: warning[core.uninitialized.Assign]: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage # 952| tprintf("%5d", ConfigWord & 1 ? temp : 0); # 953| if (ConfigWord & 1) { # 954|-> ProtoConfigs[ConfigNum] += temp; # 955| } # 956| ConfigNum++; Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/intmatcher.cpp:967:64: warning[core.UndefinedBinaryOperatorResult]: The left operand of '/' is a garbage value # 965| tprintf("Proto Error for Configurations:\n"); # 966| for (ConfigNum = 0; ConfigNum < ClassTemplate->NumConfigs; ConfigNum++) { # 967|-> tprintf(" %5.1f", 100.0 * (1.0 - ProtoConfigs[ConfigNum] / # 968| ClassTemplate->ConfigLengths[ConfigNum] / 256.0)); # 969| } Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/intmatcher.cpp:976:49: warning[core.UndefinedBinaryOperatorResult]: The left operand of '/' is a garbage value # 974| tprintf("Proto Sum for Configurations:\n"); # 975| for (ConfigNum = 0; ConfigNum < ClassTemplate->NumConfigs; ConfigNum++) { # 976|-> tprintf(" %4.1f", ProtoConfigs[ConfigNum] / 256.0); # 977| } # 978| tprintf("\n\n"); Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/intproto.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/kdtree.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/kdtree.cpp:343:7: warning[core.uninitialized.Assign]: Assigned value is garbage or undefined # 341| if (query_point_[level] < sub_tree->BranchPoint) { # 342| if (sub_tree->Left != nullptr) { # 343|-> float tmp = sb_max_[level]; # 344| sb_max_[level] = sub_tree->LeftBranch; # 345| SearchRec(NextLevel(tree_, level), sub_tree->Left); Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/kdtree.cpp:349:7: warning[core.uninitialized.Assign]: Assigned value is garbage or undefined # 347| } # 348| if (sub_tree->Right != nullptr) { # 349|-> float tmp = sb_min_[level]; # 350| sb_min_[level] = sub_tree->RightBranch; # 351| SearchRec(NextLevel(tree_, level), sub_tree->Right); Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/kdtree.cpp:356:7: warning[core.uninitialized.Assign]: Assigned value is garbage or undefined # 354| } else { # 355| if (sub_tree->Right != nullptr) { # 356|-> float tmp = sb_min_[level]; # 357| sb_min_[level] = sub_tree->RightBranch; # 358| SearchRec(NextLevel(tree_, level), sub_tree->Right); Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/kdtree.cpp:362:7: warning[core.uninitialized.Assign]: Assigned value is garbage or undefined # 360| } # 361| if (sub_tree->Left != nullptr) { # 362|-> float tmp = sb_max_[level]; # 363| sb_max_[level] = sub_tree->LeftBranch; # 364| SearchRec(NextLevel(tree_, level), sub_tree->Left); Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/kdtree.cpp:423:16: warning[core.UndefinedBinaryOperatorResult]: The right operand of '<' is a garbage value # 421| # 422| float dimension_distance; # 423|-> if (*query < *lower) { # 424| dimension_distance = *lower - *query; # 425| } else if (*query > *upper) { Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/mf.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/mfoutline.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/mfx.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/normfeat.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/normmatch.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/ocrfeatures.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/outfeat.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/picofeat.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/protos.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/shapeclassifier.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/shapetable.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/tessclassifier.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/classify/trainingsample.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/cutil/oldlist.cpp:142:7: warning[core.CallAndMessage]: Called function pointer is null (null dereference) # 140| while (list != NIL_LIST) { # 141| if (list->first_node() != nullptr) { # 142|-> (*destructor)(list->first_node()); # 143| } # 144| list = pop(list); Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/dict/context.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/dict/dawg.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/dict/trie.cpp:23: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/dict/trie.h:22: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/dict/dawg.h:233:15: warning[core.NullDereference]: Dereference of null pointer (loaded from variable 'edge_rec') # 231| /// Sets the next node link for this edge in the Dawg. # 232| inline void set_next_node_in_edge_rec(EDGE_RECORD *edge_rec, EDGE_REF value) { # 233|-> *edge_rec &= (~next_node_mask_); # 234| *edge_rec |= ((value << next_node_start_bit_) & next_node_mask_); # 235| } Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/dict/dawg_cache.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/dict/dict.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/dict/hyphen.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/dict/permdawg.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/dict/stopper.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/dict/stopper.cpp:60:17: warning[deadcode.DeadStores]: Value stored to 'xht' during its initialization is never read # 58| # 59| if (stopper_debug_level >= 1) { # 60|-> const char *xht = "UNKNOWN"; # 61| switch (xheight_consistency) { # 62| case XH_GOOD: Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/dict/stopper.cpp:418:18: warning[core.NonNullParamChecker]: Forming reference to null pointer # 416| } else { # 417| // Need a new choice with the correct_ngram_id. # 418|-> choice = new BLOB_CHOICE(*old_choice); # 419| choice->set_unichar_id(correct_ngram_id); # 420| choice->set_rating(new_rating); Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/dict/trie.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/lstm/convolve.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/lstm/fullyconnected.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/lstm/functions.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/lstm/input.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/lstm/lstm.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/lstm/lstmrecognizer.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/lstm/maxpool.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/lstm/network.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/lstm/networkio.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/lstm/parallel.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/lstm/plumbing.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/lstm/recodebeam.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/lstm/reconfig.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/lstm/reversed.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/lstm/series.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/lstm/weightmatrix.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/tesseract.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/alignedblob.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/baselinedetect.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/bbgrid.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: COMPILER_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/bbgrid.h: scope_hint: In member function ‘Init’ tesseract-5.4.1-build/tesseract-5.4.1/src/textord/bbgrid.h:492:11: warning[-Walloc-size-larger-than=]: argument 1 value ‘18446744073709551615’ exceeds maximum object size 9223372036854775807 # 492 | grid_ = new BBC_CLIST[gridbuckets_]; # | ^ /usr/include/c++/14/new:133:26: note: in a call to allocation function ‘operator new []’ declared here # 133 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc) # | ^ # 490| GridBase::Init(gridsize, bleft, tright); # 491| delete[] grid_; # 492|-> grid_ = new BBC_CLIST[gridbuckets_]; # 493| } # 494| Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/blkocc.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/blobgrid.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/ccnontextdetect.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/cjkpitch.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/colfind.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/colfind.cpp:835:7: warning[deadcode.DeadStores]: Value stored to 'end' during its initialization is never read # 833| *best_start = orig_end; # 834| *best_end = orig_end; # 835|-> int end = orig_end; # 836| for (int start = orig_start; start < orig_end; start = end) { # 837| // Find the first possible Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/colpartition.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/colpartitiongrid.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: COMPILER_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/colpartitiongrid.cpp: scope_hint: In member function ‘MakeColPartSets’ tesseract-5.4.1-build/tesseract-5.4.1/src/textord/colpartitiongrid.cpp:804:56: warning[-Walloc-size-larger-than=]: argument 1 value ‘18446744073709551615’ exceeds maximum object size 9223372036854775807 # 804 | auto *part_lists = new ColPartition_LIST[gridheight()]; # | ^ /usr/include/c++/14/new:133:26: note: in a call to allocation function ‘operator new []’ declared here # 133 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc) # | ^ # 802| // for finding column bounds. Returns false if no partitions were found. # 803| bool ColPartitionGrid::MakeColPartSets(PartSetVector *part_sets) { # 804|-> auto *part_lists = new ColPartition_LIST[gridheight()]; # 805| part_sets->reserve(gridheight()); # 806| // Iterate the ColPartitions in the grid to get parts onto lists for the Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/colpartitionset.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/devanagari_processing.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/devanagari_processing.cpp:290:29: warning[core.UndefinedBinaryOperatorResult]: The left operand of '<=' is a garbage value # 288| // a bit vector for the final split decision at every column. # 289| for (int i = 0; i < width; ++i) { # 290|-> if (vert_hist.hist()[i] <= stroke_width / 4) { # 291| vert_hist.hist()[i] = 0; # 292| } else { Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/devanagari_processing.cpp:290:29: warning[core.UndefinedBinaryOperatorResult]: The left operand of '<=' is a garbage value due to array index out of bounds # 288| // a bit vector for the final split decision at every column. # 289| for (int i = 0; i < width; ++i) { # 290|-> if (vert_hist.hist()[i] <= stroke_width / 4) { # 291| vert_hist.hist()[i] = 0; # 292| } else { Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/devanagari_processing.cpp:428:71: warning[core.UndefinedBinaryOperatorResult]: The left operand of '>=' is a garbage value due to array index out of bounds # 426| --ulimit; # 427| } # 428|-> while (llimit < pixGetHeight(word_pix) && hist_horiz.hist()[llimit] >= thresh) { # 429| ++llimit; # 430| } Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/devanagari_processing.cpp:453:12: warning[core.uninitialized.Assign]: Assigned value is garbage or undefined # 451| } # 452| if (count) { # 453|-> *count = hist_[best_value]; # 454| } # 455| return best_value; Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/drawtord.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/drawtord.cpp:253:3: warning[deadcode.DeadStores]: Value stored to 'rect_colour' is never read # 251| BLOBNBOX_IT start_it = blob_it; // word start # 252| # 253|-> rect_colour = ScrollView::BLACK; # 254| prev_x = -INT16_MAX; # 255| blob_count = 0; Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/edgblob.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/edgloop.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/equationdetectbase.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/fpchop.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/gap_map.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/gap_map.cpp:108:13: warning[core.uninitialized.Assign]: The expression is an uninitialized value. The computed value will also be garbage # 106| } # 107| for (i = 0; i <= max_quantum; i++) { # 108|-> map[i]++; # 109| } # 110| } Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/imagefind.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/linefind.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/makerow.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/oldbasel.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/oldbasel.cpp:531:7: warning[deadcode.DeadStores]: Value stored to 'y1' is never read # 529| # 530| if (blobcount >= 3) { # 531|-> y1 = y2 = y3 = 0.0f; # 532| ycount = 0; # 533| segment = 0; /*no of segments */ Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/pithsync.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/pitsync1.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/scanedg.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/scanedg.cpp:184:5: warning[core.uninitialized.Assign]: Assigned value is garbage or undefined # 182| // do each pixel # 183| for (; pos.x < xmax; pos.x++, prevline++) { # 184|-> const int colour = *bwpos++; // current pixel # 185| if (*prevline != nullptr) { # 186| // changed above Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/scanedg.cpp:185:19: warning[core.UndefinedBinaryOperatorResult]: The left operand of '!=' is a garbage value # 183| for (; pos.x < xmax; pos.x++, prevline++) { # 184| const int colour = *bwpos++; // current pixel # 185|-> if (*prevline != nullptr) { # 186| // changed above # 187| // change colour Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/scanedg.cpp:235:24: warning[core.UndefinedBinaryOperatorResult]: The left operand of '!=' is a garbage value # 233| *prevline = v_edge(FLIP_COLOUR(prevcolour) - prevcolour, current, &pos); # 234| } # 235|-> } else if (*prevline != nullptr) { # 236| // continue fake # 237| *prevline = v_edge(FLIP_COLOUR(prevcolour) - prevcolour, *prevline, &pos); Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/sortflts.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/strokewidth.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/tabfind.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/tablefind.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/tablerecog.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/tablerecog.cpp:858:5: warning[deadcode.DeadStores]: Value stored to 'changed' is never read # 856| bool changed = true; # 857| while (changed) { # 858|-> changed = false; # 859| int old_area = bounding_box->area(); # 860| bool check = FindLinesBoundingBoxIteration(bounding_box); Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/tabvector.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/textlineprojection.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/textord.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/topitch.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/topitch.cpp:465:5: warning[core.CallAndMessage]: 7th function call argument is an uninitialized value # 463| # 464| if (textord_debug_pitch_metric) { # 465|-> tprintf( # 466| "try_doc:props=%d:fixed=%d:pitch=%d:final_pitch=%g:pitch_sd=%g:sp_sd=%" # 467| "g:sd/trc=%g:sd/p=%g:sd/trc/p=%g\n", Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/topitch.cpp:839:7: warning[deadcode.DeadStores]: Value stored to 'min_space' is never read # 837| if (min_space > initial_pitch && count_pitch_stats(row, &gap_stats, &pitch_stats, initial_pitch, # 838| initial_pitch, true, false, 0)) { # 839|-> min_space = initial_pitch; # 840| gap_iqr = gap_stats.ile(0.75) - gap_stats.ile(0.25); # 841| pitch_iqr = pitch_stats.ile(0.75) - pitch_stats.ile(0.25); Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/topitch.cpp:848:7: warning[deadcode.DeadStores]: Value stored to 'initial_pitch' is never read # 846| initial_pitch, gap_iqr, pitch_iqr, pitch_stats.ile(0.5)); # 847| } # 848|-> initial_pitch = pitch_stats.ile(0.5); # 849| } # 850| } Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/topitch.cpp:958:75: warning[core.UndefinedBinaryOperatorResult]: The left operand of '>' is a garbage value # 956| row->pitch_decision = PITCH_MAYBE_FIXED; # 957| } # 958|-> } else if ((pitsync_linear_version & 3) < 3 || sp_sd > 20 || mid_cuts > 0 || # 959| pitch_sd >= textord_words_pitchsd_threshold * row->fixed_pitch) { # 960| if (pitch_sd < textord_words_def_prop * row->fixed_pitch) { Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/topitch.cpp:971:5: warning[deadcode.DeadStores]: Value stored to 'res_string' is never read # 969| # 970| if (textord_debug_pitch_metric) { # 971|-> res_string = "??"; # 972| switch (row->pitch_decision) { # 973| case PITCH_DEF_PROP: Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/topitch.cpp:1140:18: warning[core.uninitialized.Assign]: Assigned value is garbage or undefined # 1138| best_sd = pitch_sd; # 1139| best_mid_cuts = mid_cuts; # 1140|-> best_sp_sd = sp_sd; # 1141| best_pitch = initial_pitch + pitch_delta; # 1142| best_cells->clear(); Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/topitch.cpp:1162:18: warning[core.uninitialized.Assign]: Assigned value is garbage or undefined # 1160| best_sd = pitch_sd; # 1161| best_mid_cuts = mid_cuts; # 1162|-> best_sp_sd = sp_sd; # 1163| best_pitch = initial_pitch - pitch_delta; # 1164| best_cells->clear(); Error: COMPILER_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/topitch.cpp:1218:74: warning[-Walloc-size-larger-than=]: argument 1 value ‘18446744073709551615’ exceeds maximum object size 9223372036854775807 # 1218 | std::unique_ptr<STATS[]> sum_proj(new STATS[textord_pitch_range * 2 + 1]); // summed projection # | ^ /usr/include/c++/14/new: scope_hint: In function ‘tune_row_pitch’ /usr/include/c++/14/new:133:26: note: in a call to allocation function ‘operator new []’ declared here # 133 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc) # | ^ # 1216| return initial_pitch; # 1217| } # 1218|-> std::unique_ptr<STATS[]> sum_proj(new STATS[textord_pitch_range * 2 + 1]); // summed projection # 1219| # 1220| for (pitch_delta = -textord_pitch_range; pitch_delta <= textord_pitch_range; pitch_delta++) { Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/tordmain.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/tospace.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/tospace.cpp:401:5: warning[deadcode.DeadStores]: Value stored to 'sane_space' is never read # 399| } # 400| } else if (tosp_sanity_method == 1) { # 401|-> sane_space = row->space_size; # 402| /* NEVER let space size get too close to kern size */ # 403| if ((row->space_size < tosp_min_sane_kn_sp * std::max(row->kern_size, 2.5f)) || Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/underlin.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/wordseg.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/textord/workingpartset.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/ambiguous_words.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/classifier_tester.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/cntraining.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/combine_lang_model.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/combine_tessdata.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/common/commandlineflags.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/common/commontraining.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/common/ctc.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/common/errorcounter.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: COMPILER_WARNING (CWE-195): tesseract-5.4.1-build/tesseract-5.4.1/src/training/common/errorcounter.cpp: scope_hint: In static member function ‘static double tesseract::ErrorCounter::ComputeErrorRate(tesseract::ShapeClassifier*, int, tesseract::CountTypes, const tesseract::FontInfoTable&, const std::vector<tesseract::Image>&, tesseract::SampleIterator*, double*, double*, std::string*)’ tesseract-5.4.1-build/tesseract-5.4.1/src/training/common/errorcounter.cpp:63:39: warning[-Wsign-compare]: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<tesseract::Image>::size_type’ {aka ‘long unsigned int’} # 63 | 0 <= page_index && page_index < page_images.size() ? page_images[page_index] : nullptr; # | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ # 61| int page_index = mutable_sample->page_num(); # 62| Image page_pix = # 63|-> 0 <= page_index && page_index < page_images.size() ? page_images[page_index] : nullptr; # 64| // No debug, no keep this. # 65| classifier->UnicharClassifySample(*mutable_sample, page_pix, 0, INVALID_UNICHAR_ID, &results); Error: COMPILER_WARNING (CWE-195): tesseract-5.4.1-build/tesseract-5.4.1/src/training/common/errorcounter.cpp: scope_hint: In static member function ‘static void tesseract::ErrorCounter::DebugNewErrors(tesseract::ShapeClassifier*, tesseract::ShapeClassifier*, tesseract::CountTypes, const tesseract::FontInfoTable&, const std::vector<tesseract::Image>&, tesseract::SampleIterator*)’ tesseract-5.4.1-build/tesseract-5.4.1/src/training/common/errorcounter.cpp:127:39: warning[-Wsign-compare]: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<tesseract::Image>::size_type’ {aka ‘long unsigned int’} # 127 | 0 <= page_index && page_index < page_images.size() ? page_images[page_index] : nullptr; # | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ # 125| int page_index = mutable_sample->page_num(); # 126| Image page_pix = # 127|-> 0 <= page_index && page_index < page_images.size() ? page_images[page_index] : nullptr; # 128| // No debug, no keep this. # 129| old_classifier->UnicharClassifySample(*mutable_sample, page_pix, 0, INVALID_UNICHAR_ID, Error: COMPILER_WARNING (CWE-195): tesseract-5.4.1-build/tesseract-5.4.1/src/training/common/errorcounter.cpp: scope_hint: In member function ‘double tesseract::ErrorCounter::ReportErrors(int, tesseract::CountTypes, const tesseract::FontInfoTable&, const tesseract::SampleIterator&, double*, std::string*)’ tesseract-5.4.1-build/tesseract-5.4.1/src/training/common/errorcounter.cpp:416:23: warning[-Wsign-compare]: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<int>::size_type’ {aka ‘long unsigned int’} # 416 | for (int u = 0; u < multi_unichar_counts_.size(); ++u) { # | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # 414| } # 415| tprintf("Multi-unichar shape use:\n"); # 416|-> for (int u = 0; u < multi_unichar_counts_.size(); ++u) { # 417| if (multi_unichar_counts_[u] > 0) { # 418| tprintf("%d multiple answers for unichar: %s\n", multi_unichar_counts_[u], Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/common/intfeaturedist.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/common/intfeaturemap.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/common/mastertrainer.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: COMPILER_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/common/mastertrainer.cpp: scope_hint: In member function ‘ClusterShapes.constprop’ tesseract-5.4.1-build/tesseract-5.4.1/src/training/common/mastertrainer.cpp:972:60: warning[-Walloc-size-larger-than=]: argument 1 value ‘18446744073709551615’ exceeds maximum object size 9223372036854775807 # 972 | auto *shape_dists = new std::vector<ShapeDist>[num_shapes]; # | ^ /usr/include/c++/14/new:133:26: note: in a call to allocation function ‘operator new []’ declared here # 133 | _GLIBCXX_NODISCARD void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc) # | ^ # 970| int max_merges = num_shapes - min_shapes; # 971| // TODO: avoid new / delete. # 972|-> auto *shape_dists = new std::vector<ShapeDist>[num_shapes]; # 973| float min_dist = kInfiniteDist; # 974| int min_s1 = 0; Error: COMPILER_WARNING (CWE-195): tesseract-5.4.1-build/tesseract-5.4.1/src/training/common/mastertrainer.cpp: scope_hint: In member function ‘void tesseract::MasterTrainer::ClusterShapes(int, int, float, tesseract::ShapeTable*)’ tesseract-5.4.1-build/tesseract-5.4.1/src/training/common/mastertrainer.cpp:1037:46: warning[-Wsign-compare]: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ # 1037 | if (shapes->MasterDestinationIndex(s1) == s1) { # | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ # 1035| if (debug_level_ > 1) { # 1036| for (int s1 = 0; s1 < num_shapes; ++s1) { # 1037|-> if (shapes->MasterDestinationIndex(s1) == s1) { # 1038| tprintf("Master shape:%s\n", shapes->DebugStr(s1).c_str()); # 1039| } Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/common/networkbuilder.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/common/networkbuilder.cpp:56:5: warning[core.CallAndMessage]: Called C++ object pointer is null # 54| auto *series = static_cast<Series *>(*network); # 55| Series *top_series = nullptr; # 56|-> series->SplitAt(append_index, &bottom_series, &top_series); # 57| if (bottom_series == nullptr || top_series == nullptr) { # 58| tprintf("Yikes! Splitting current network failed!!\n"); Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/common/sampleiterator.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/common/trainingsampleset.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: COMPILER_WARNING (CWE-195): tesseract-5.4.1-build/tesseract-5.4.1/src/training/common/trainingsampleset.cpp: scope_hint: In member function ‘void tesseract::TrainingSampleSet::SetupFontIdMap()’ tesseract-5.4.1-build/tesseract-5.4.1/src/training/common/trainingsampleset.cpp:596:20: warning[-Wsign-compare]: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector<int>::size_type’ {aka ‘long unsigned int’} # 596 | while (font_id >= font_counts.size()) { # | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ # 594| for (auto &sample : samples_) { # 595| const int font_id = sample->font_id(); # 596|-> while (font_id >= font_counts.size()) { # 597| font_counts.push_back(0); # 598| } Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/dawg2wordlist.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/degradeimage.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/lstmeval.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/lstmtraining.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/merge_unicharsets.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/mergenf.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/mftraining.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/pango/boxchar.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/pango/ligature_table.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/pango/pango_font_info.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/pango/stringrenderer.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/set_unicharset_properties.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/shapeclustering.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/text2image.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/unicharset/fileio.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/unicharset/lang_model_helpers.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/unicharset/lstmtester.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/unicharset/lstmtrainer.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/unicharset/lstmtrainer.cpp:771:11: warning[deadcode.DeadStores]: Value stored to 'bad_frac' is never read # 769| bad_sums[ww][i] + ok_sums[ww][i] - before_bad - before_ok; # 770| if (bad_frac > 0.0f) { # 771|-> bad_frac = (bad_sums[ww][i] - before_bad) / bad_frac; # 772| } # 773| } Error: COMPILER_WARNING (CWE-195): tesseract-5.4.1-build/tesseract-5.4.1/src/training/unicharset/lstmtrainer.cpp: scope_hint: In member function ‘bool tesseract::LSTMTrainer::ComputeTextTargets(const tesseract::NetworkIO&, const std::vector<int>&, tesseract::NetworkIO*)’ tesseract-5.4.1-build/tesseract-5.4.1/src/training/unicharset/lstmtrainer.cpp:1235:27: warning[-Wsign-compare]: comparison of integer expressions of different signedness: ‘std::vector<int>::size_type’ {aka ‘long unsigned int’} and ‘int’ # 1235 | if (truth_labels.size() > targets->Width()) { # | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ # 1233| const std::vector<int> &truth_labels, # 1234| NetworkIO *targets) { # 1235|-> if (truth_labels.size() > targets->Width()) { # 1236| tprintf("Error: transcription %s too long to fit into target of width %d\n", # 1237| DecodeLabels(truth_labels).c_str(), targets->Width()); Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/unicharset/unicharset_training_utils.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: COMPILER_WARNING (CWE-195): tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/unicharset.h:22: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/training/unicharset/unicharset_training_utils.cpp:32: included_from: Included from here. tesseract-5.4.1-build/tesseract-5.4.1/src/training/unicharset/unicharset_training_utils.cpp: scope_hint: In function ‘void tesseract::SetupBasicProperties(bool, bool, UNICHARSET*)’ tesseract-5.4.1-build/tesseract-5.4.1/src/training/unicharset/unicharset_training_utils.cpp:139:56: warning[-Wsign-compare]: comparison of integer expressions of different signedness: ‘tesseract::UNICHAR_ID’ {aka ‘int’} and ‘size_t’ {aka ‘long unsigned int’} # 139 | ASSERT_HOST(unicharset->get_other_case(unichar_id) < unicharset->size()); # | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ tesseract-5.4.1-build/tesseract-5.4.1/src/ccutil/errcode.h:55:4: note: in definition of macro ‘ASSERT_HOST’ # 55 | (x) ? DO_NOTHING : ASSERT_FAILED.error(#x, ABORT, "in file %s, line %d", __FILE__, __LINE__) # | ^ # 137| unicharset->set_normed(unichar_id, unichar_str); # 138| } # 139|-> ASSERT_HOST(unicharset->get_other_case(unichar_id) < unicharset->size()); # 140| } # 141| unicharset->post_load_setup(); Error: COMPILER_WARNING (CWE-195): tesseract-5.4.1-build/tesseract-5.4.1/src/training/unicharset/unicharset_training_utils.cpp: scope_hint: In function ‘void tesseract::SetScriptProperties(const std::string&, UNICHARSET*)’ tesseract-5.4.1-build/tesseract-5.4.1/src/training/unicharset/unicharset_training_utils.cpp:157:47: warning[-Wsign-compare]: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} # 157 | for (int c = SPECIAL_UNICHAR_CODES_COUNT; c < unicharset->size(); ++c) { # | ~~^~~~~~~~~~~~~~~~~~~~ # 155| } # 156| } # 157|-> for (int c = SPECIAL_UNICHAR_CODES_COUNT; c < unicharset->size(); ++c) { # 158| if (unicharset->PropertiesIncomplete(c)) { # 159| tprintf("Warning: properties incomplete for index %d = %s\n", c, Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/unicharset/validate_grapheme.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/unicharset/validate_indic.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/unicharset/validate_javanese.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/unicharset/validate_khmer.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/unicharset/validate_myanmar.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/unicharset_extractor.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/training/wordlist2dawg.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/viewer/scrollview.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/viewer/svutil.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/wordrec/associate.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/wordrec/chop.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/wordrec/chopper.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/wordrec/drawfx.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/wordrec/findseam.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/wordrec/gradechop.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/wordrec/language_model.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/wordrec/language_model.cpp:893:15: warning[deadcode.DeadStores]: Value stored to 'pcontext_ptr' during its initialization is never read # 891| const ViterbiStateEntry *parent_vse) { # 892| // Initialize parent context. # 893|-> const char *pcontext_ptr = ""; # 894| int pcontext_unichar_step_len = 0; # 895| if (parent_vse == nullptr) { Error: CLANG_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/wordrec/language_model.cpp:1228:14: warning[core.NullDereference]: Access to field 'ngram_and_classifier_cost' results in a dereference of a null pointer (loaded from field 'ngram_info') # 1226| if (language_model_ngram_on) { # 1227| ASSERT_HOST(vse->ngram_info != nullptr); # 1228|-> return vse->ngram_info->ngram_and_classifier_cost * adjustment; # 1229| } else { # 1230| adjustment += ComputeConsistencyAdjustment(vse->dawg_info, vse->consistency_info); Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/wordrec/lm_consistency.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/wordrec/lm_pain_points.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/wordrec/lm_state.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/wordrec/outlines.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/wordrec/params_model.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/wordrec/pieces.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/wordrec/plotedges.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/wordrec/render.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/wordrec/segsearch.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/wordrec/tface.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/wordrec/wordclass.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches. Error: CPPCHECK_WARNING: tesseract-5.4.1-build/tesseract-5.4.1/src/wordrec/wordrec.cpp: information[normalCheckLevelMaxBranches]: Limiting analysis of branches. Use --check-level=exhaustive to analyze all branches.