Task #78410 - tesseract-5.5.1-5.fc44/scan-results.err
back to task #78410download
Error: COMPILER_WARNING:
tesseract-5.5.1/src/ccmain/applybox.cpp: scope_hint: In member function ‘FindSegmentation’
tesseract-5.5.1/src/ccmain/applybox.cpp:549:66: warning[-Walloc-size-larger-than=]: argument 1 value ‘18446744073709551615’ exceeds maximum object size 9223372036854775807
# 549 | auto *choices = new std::vector<BLOB_CHOICE_LIST *>[word_length];
# | ^
/usr/include/c++/15/new:140:26: note: in a call to allocation function ‘operator new []’ declared here
# 140 | _GLIBCXX_NODISCARD void* operator new[](std::size_t)
# | ^
# 547| // Classify all required combinations of blobs and save results in choices.
# 548| const int word_length = word_res->box_word->length();
# 549|-> auto *choices = new std::vector<BLOB_CHOICE_LIST *>[word_length];
# 550| for (int i = 0; i < word_length; ++i) {
# 551| for (int j = 1; j <= kMaxGroupSize && i + j <= word_length; ++j) {
Error: CPPCHECK_WARNING (CWE-476):
tesseract-5.5.1/src/ccstruct/imagedata.cpp:70: warning[nullPointer]: Possible null pointer dereference: imagedata
# 68| // TODO: optimize resize (no init).
# 69| image_data->image_data_.resize(imagedatasize);
# 70|-> memcpy(&image_data->image_data_[0], imagedata, imagedatasize);
# 71| if (!image_data->AddBoxes(box_text)) {
# 72| if (truth_text == nullptr || truth_text[0] == '\0') {
Error: CPPCHECK_WARNING (CWE-476):
tesseract-5.5.1/src/ccstruct/imagedata.cpp:607: warning[nullPointer]: Possible null pointer dereference: image_data
# 605| }
# 606| pages_.push_back(image_data);
# 607|-> if (image_data->imagefilename().empty()) {
# 608| image_data->set_imagefilename(document_name_);
# 609| image_data->set_page_number(page);
Error: COMPILER_WARNING:
tesseract-5.5.1/src/ccstruct/matrix.h:65:14: warning[-Walloc-size-larger-than=]: argument 1 value ‘18446744073709551615’ exceeds maximum object size 9223372036854775807
# 65 | array_ = new T[new_size];
# | ^
/usr/include/c++/15/new: scope_hint: In member function ‘OrganizeByFontAndClass’
/usr/include/c++/15/new:140:26: note: in a call to allocation function ‘operator new []’ declared here
# 140 | _GLIBCXX_NODISCARD void* operator new[](std::size_t)
# | ^
# 63| GENERIC_2D_ARRAY(int dim1, int dim2, const T &empty) : empty_(empty), dim1_(dim1), dim2_(dim2) {
# 64| int new_size = dim1 * dim2;
# 65|-> array_ = new T[new_size];
# 66| size_allocated_ = new_size;
# 67| for (int i = 0; i < size_allocated_; ++i) {
Error: CPPCHECK_WARNING (CWE-457):
tesseract-5.5.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 (CWE-398):
tesseract-5.5.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.5.1/src/ccutil/unicharset.cpp:19: included_from: Included from here.
tesseract-5.5.1/src/ccutil/unicharset.h: scope_hint: In function ‘tesseract::CHAR_FRAGMENT::parse_from_string(char const*)’
tesseract-5.5.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 (CWE-476):
tesseract-5.5.1/src/dict/dawg.cpp:85: warning[nullPointerOutOfResources]: If resource allocation fails, then there is a possible null pointer dereference: word_file
# 83| }
# 84|
# 85|-> while (fgets(string, CHARS_PER_LINE, word_file) != nullptr) {
# 86| chomp_string(string); // remove newline
# 87| WERD_CHOICE word(string, unicharset);
Error: CPPCHECK_WARNING (CWE-476):
tesseract-5.5.1/src/dict/dict.cpp:705: warning[nullPointerOutOfResources]: If resource allocation fails, then there is a possible null pointer dereference: doc_word_file
# 703| ASSERT_HOST(doc_word_file);
# 704| }
# 705|-> fprintf(doc_word_file, "%s\n", best_choice.debug_string().c_str());
# 706| fclose(doc_word_file);
# 707| }
Error: CPPCHECK_WARNING (CWE-476):
tesseract-5.5.1/src/dict/dict.cpp:706: warning[nullPointerOutOfResources]: If resource allocation fails, then there is a possible null pointer dereference: doc_word_file
# 704| }
# 705| fprintf(doc_word_file, "%s\n", best_choice.debug_string().c_str());
# 706|-> fclose(doc_word_file);
# 707| }
# 708| document_words_->add_word_to_dawg(best_choice);
Error: COMPILER_WARNING:
tesseract-5.5.1/src/textord/bbgrid.h: scope_hint: In member function ‘Init’
tesseract-5.5.1/src/textord/bbgrid.h:477:11: warning[-Walloc-size-larger-than=]: argument 1 value ‘18446744073709551615’ exceeds maximum object size 9223372036854775807
# 477 | grid_ = new BBC_CLIST[gridbuckets_];
# | ^
/usr/include/c++/15/new:140:26: note: in a call to allocation function ‘operator new []’ declared here
# 140 | _GLIBCXX_NODISCARD void* operator new[](std::size_t)
# | ^
# 475| GridBase::Init(gridsize, bleft, tright);
# 476| delete[] grid_;
# 477|-> grid_ = new BBC_CLIST[gridbuckets_];
# 478| }
# 479|
Error: COMPILER_WARNING:
tesseract-5.5.1/src/textord/colpartitiongrid.cpp: scope_hint: In member function ‘MakeColPartSets’
tesseract-5.5.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++/15/new:140:26: note: in a call to allocation function ‘operator new []’ declared here
# 140 | _GLIBCXX_NODISCARD void* operator new[](std::size_t)
# | ^
# 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: COMPILER_WARNING:
tesseract-5.5.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++/15/new: scope_hint: In function ‘tune_row_pitch’
/usr/include/c++/15/new:140:26: note: in a call to allocation function ‘operator new []’ declared here
# 140 | _GLIBCXX_NODISCARD void* operator new[](std::size_t)
# | ^
# 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 (CWE-476):
tesseract-5.5.1/src/training/cntraining.cpp:211: warning[nullPointerOutOfResources]: If resource allocation fails, then there is a possible null pointer dereference: File
# 209| File = fopen(Filename.c_str(), "wb");
# 210| ASSERT_HOST(File);
# 211|-> fprintf(File, "%0d\n", feature_desc->NumParams);
# 212| WriteParamDesc(File, feature_desc->NumParams, feature_desc->ParamDesc);
# 213| iterate(LabeledProtoList) {
Error: COMPILER_WARNING (CWE-195):
tesseract-5.5.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.5.1/src/training/common/errorcounter.cpp:67:39: warning[-Wsign-compare]: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<tesseract::Image>::size_type’ {aka ‘long unsigned int’}
# 67 | 0 <= page_index && page_index < page_images.size() ? page_images[page_index] : nullptr;
# | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
# 65| int page_index = mutable_sample->page_num();
# 66| Image page_pix =
# 67|-> 0 <= page_index && page_index < page_images.size() ? page_images[page_index] : nullptr;
# 68| // No debug, no keep this.
# 69| classifier->UnicharClassifySample(*mutable_sample, page_pix, 0, INVALID_UNICHAR_ID, &results);
Error: COMPILER_WARNING (CWE-195):
tesseract-5.5.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.5.1/src/training/common/errorcounter.cpp:131:39: warning[-Wsign-compare]: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<tesseract::Image>::size_type’ {aka ‘long unsigned int’}
# 131 | 0 <= page_index && page_index < page_images.size() ? page_images[page_index] : nullptr;
# | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
# 129| int page_index = mutable_sample->page_num();
# 130| Image page_pix =
# 131|-> 0 <= page_index && page_index < page_images.size() ? page_images[page_index] : nullptr;
# 132| // No debug, no keep this.
# 133| old_classifier->UnicharClassifySample(*mutable_sample, page_pix, 0, INVALID_UNICHAR_ID,
Error: COMPILER_WARNING (CWE-195):
tesseract-5.5.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.5.1/src/training/common/errorcounter.cpp:420:23: warning[-Wsign-compare]: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<int>::size_type’ {aka ‘long unsigned int’}
# 420 | for (int u = 0; u < multi_unichar_counts_.size(); ++u) {
# | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 418| }
# 419| tprintf("Multi-unichar shape use:\n");
# 420|-> for (int u = 0; u < multi_unichar_counts_.size(); ++u) {
# 421| if (multi_unichar_counts_[u] > 0) {
# 422| tprintf("%d multiple answers for unichar: %s\n", multi_unichar_counts_[u],
Error: COMPILER_WARNING:
tesseract-5.5.1/src/training/common/mastertrainer.cpp: scope_hint: In member function ‘ClusterShapes.constprop’
tesseract-5.5.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++/15/new:140:26: note: in a call to allocation function ‘operator new []’ declared here
# 140 | _GLIBCXX_NODISCARD void* operator new[](std::size_t)
# | ^
# 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.5.1/src/training/common/mastertrainer.cpp: scope_hint: In member function ‘void tesseract::MasterTrainer::ClusterShapes(int, int, float, tesseract::ShapeTable*)’
tesseract-5.5.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: COMPILER_WARNING (CWE-195):
tesseract-5.5.1/src/training/common/trainingsampleset.cpp: scope_hint: In member function ‘void tesseract::TrainingSampleSet::SetupFontIdMap()’
tesseract-5.5.1/src/training/common/trainingsampleset.cpp:598:20: warning[-Wsign-compare]: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector<int>::size_type’ {aka ‘long unsigned int’}
# 598 | while (font_id >= font_counts.size()) {
# | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
# 596| for (auto &sample : samples_) {
# 597| const int font_id = sample->font_id();
# 598|-> while (font_id >= font_counts.size()) {
# 599| font_counts.push_back(0);
# 600| }
Error: COMPILER_WARNING (CWE-195):
tesseract-5.5.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.5.1/src/training/unicharset/lstmtrainer.cpp:1215:27: warning[-Wsign-compare]: comparison of integer expressions of different signedness: ‘std::vector<int>::size_type’ {aka ‘long unsigned int’} and ‘int’
# 1215 | if (truth_labels.size() > targets->Width()) {
# | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
# 1213| const std::vector<int> &truth_labels,
# 1214| NetworkIO *targets) {
# 1215|-> if (truth_labels.size() > targets->Width()) {
# 1216| tprintf("Error: transcription %s too long to fit into target of width %d\n",
# 1217| DecodeLabels(truth_labels).c_str(), targets->Width());
Error: COMPILER_WARNING (CWE-195):
tesseract-5.5.1/src/ccutil/unicharset.h:22: included_from: Included from here.
tesseract-5.5.1/src/training/unicharset/unicharset_training_utils.cpp:32: included_from: Included from here.
tesseract-5.5.1/src/training/unicharset/unicharset_training_utils.cpp: scope_hint: In function ‘void tesseract::SetupBasicProperties(bool, bool, UNICHARSET*)’
tesseract-5.5.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.5.1/src/ccutil/errcode.h:57:4: note: in definition of macro ‘ASSERT_HOST’
# 57 | (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.5.1/src/training/unicharset/unicharset_training_utils.cpp: scope_hint: In function ‘void tesseract::SetScriptProperties(const std::string&, UNICHARSET*)’
tesseract-5.5.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,