protobuf-3.19.6-11.fc43

List of Findings

Error: COMPILER_WARNING (CWE-457): [#def1]
protobuf-3.19.6/src/google/protobuf/extension_set_heavy.cc:40: included_from: Included from here.
protobuf-3.19.6/src/google/protobuf/extension_set_inl.h: scope_hint: In member function 'google::protobuf::internal::ExtensionSet::ParseMessageSetItemTmpl<google::protobuf::Message, google::protobuf::UnknownFieldSet>(char const*, google::protobuf::Message const*, google::protobuf::internal::InternalMetadata*, google::protobuf::internal::ParseContext*)char const*'
protobuf-3.19.6/src/google/protobuf/extension_set_inl.h:253:37: warning[-Wmaybe-uninitialized]: 'type_id' may be used uninitialized
#  253 |         ptr = ParseFieldMaybeLazily(static_cast<uint64_t>(type_id) * 8 + 2, ptr,
#      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
protobuf-3.19.6/src/google/protobuf/extension_set_inl.h:209:12: note: 'type_id' was declared here
#  209 |   uint32_t type_id;
#      |            ^~~~~~~
#  251|       } else if (tag == WireFormatLite::kMessageSetMessageTag) {
#  252|         if (state == State::kHasType) {
#  253|->         ptr = ParseFieldMaybeLazily(static_cast<uint64_t>(type_id) * 8 + 2, ptr,
#  254|                                       extendee, metadata, ctx);
#  255|           GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr);

Error: CPPCHECK_WARNING (CWE-664): [#def2]
protobuf-3.19.6/src/google/protobuf/generated_enum_util.cc:43: error[mismatchingContainers]: Iterators of different containers 'a' and 'b' are used together.
#   41|   
#   42|   bool EnumCompareByName(const EnumEntry& a, const EnumEntry& b) {
#   43|->   return StringPiece(a.name) < StringPiece(b.name);
#   44|   }
#   45|   

Error: COMPILER_WARNING: [#def3]
protobuf-3.19.6/src/google/protobuf/generated_message_tctable_lite.cc:36: included_from: Included from here.
protobuf-3.19.6/src/google/protobuf/generated_message_tctable_impl.h: scope_hint: In function 'void google::protobuf::internal::AlignFail(uintptr_t) [with long unsigned int align = 4]'
protobuf-3.19.6/src/google/protobuf/generated_message_tctable_impl.h:103:1: warning: 'noreturn' function does return
#  103 | }
#      | ^
#  101|   void AlignFail(uintptr_t address) {
#  102|     GOOGLE_LOG(FATAL) << "Unaligned (" << align << ") access at " << address;
#  103|-> }
#  104|   
#  105|   extern template void AlignFail<4>(uintptr_t);

Error: CPPCHECK_WARNING (CWE-562): [#def4]
protobuf-3.19.6/src/google/protobuf/map.h:725: error[returnTempReference]: Reference to temporary returned.
#  723|       template <typename K>
#  724|       value_type& operator[](K&& k) {
#  725|->       return *insert(std::forward<K>(k)).first;
#  726|       }
#  727|   

Error: CPPCHECK_WARNING: [#def5]
protobuf-3.19.6/src/google/protobuf/repeated_field.h:125: error[internalError]: Analysis failed. If the code is valid then please report this failure.
#  123|   
#  124|   template <int kSize>
#  125|-> inline typename std::enable_if<(kSize == 0), void>::type memswap(char*, char*) {
#  126|   }
#  127|   

Error: CPPCHECK_WARNING (CWE-562): [#def6]
protobuf-3.19.6/src/google/protobuf/util/internal/default_value_objectwriter.cc:530: error[invalidLifetime]: Using pointer to local variable 'node' that is out of scope.
#  528|     }
#  529|   
#  530|->   child->set_is_placeholder(false);
#  531|     if (child->kind() == OBJECT && child->number_of_children() == 0) {
#  532|       child->PopulateChildren(typeinfo_);

Error: CPPCHECK_WARNING (CWE-562): [#def7]
protobuf-3.19.6/src/google/protobuf/util/internal/default_value_objectwriter.cc:531: error[invalidLifetime]: Using pointer to local variable 'node' that is out of scope.
#  529|   
#  530|     child->set_is_placeholder(false);
#  531|->   if (child->kind() == OBJECT && child->number_of_children() == 0) {
#  532|       child->PopulateChildren(typeinfo_);
#  533|     }

Error: CPPCHECK_WARNING (CWE-562): [#def8]
protobuf-3.19.6/src/google/protobuf/util/internal/default_value_objectwriter.cc:532: error[invalidLifetime]: Using pointer to local variable 'node' that is out of scope.
#  530|     child->set_is_placeholder(false);
#  531|     if (child->kind() == OBJECT && child->number_of_children() == 0) {
#  532|->     child->PopulateChildren(typeinfo_);
#  533|     }
#  534|   

Error: CPPCHECK_WARNING (CWE-562): [#def9]
protobuf-3.19.6/src/google/protobuf/util/internal/default_value_objectwriter.cc:536: error[invalidLifetime]: Using pointer to local variable 'node' that is out of scope.
#  534|   
#  535|     stack_.push(current_);
#  536|->   current_ = child;
#  537|     return this;
#  538|   }

Error: CPPCHECK_WARNING (CWE-562): [#def10]
protobuf-3.19.6/src/google/protobuf/util/internal/default_value_objectwriter.cc:573: error[invalidLifetime]: Using pointer to local variable 'node' that is out of scope.
#  571|       current_->AddChild(node.release());
#  572|     }
#  573|->   child->set_is_placeholder(false);
#  574|   
#  575|     stack_.push(current_);

Error: CPPCHECK_WARNING (CWE-562): [#def11]
protobuf-3.19.6/src/google/protobuf/util/internal/default_value_objectwriter.cc:576: error[invalidLifetime]: Using pointer to local variable 'node' that is out of scope.
#  574|   
#  575|     stack_.push(current_);
#  576|->   current_ = child;
#  577|     return this;
#  578|   }

Error: CPPCHECK_WARNING (CWE-562): [#def12]
protobuf-3.19.6/src/google/protobuf/util/internal/proto_writer.h:128: error[returnTempReference]: Reference to temporary returned.
#  126|     // Returns the location tracker to use for tracking locations for errors.
#  127|     const LocationTrackerInterface& location() {
#  128|->     return element_ != nullptr ? *element_ : *tracker_;
#  129|     }
#  130|   

Error: CPPCHECK_WARNING (CWE-457): [#def13]
protobuf-3.19.6/src/google/protobuf/wire_format_lite.cc:368: warning[uninitvar]: Uninitialized variable: buf
#  366|         ptr += sizeof(a[0]);
#  367|       }
#  368|->     output->WriteRaw(buf, to_do * sizeof(a[0]));
#  369|     }
#  370|   #endif

Scan Properties

analyzer-version-clippy1.86.0
analyzer-version-cppcheck2.17.1
analyzer-version-gcc15.0.1
analyzer-version-gcc-analyzer15.0.1
analyzer-version-shellcheck0.10.0
analyzer-version-unicontrol0.0.2
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-140.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20250425.124705.g1c7c448.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-nameprotobuf-3.19.6-11.fc43
store-results-to/tmp/tmpj4qp586a/protobuf-3.19.6-11.fc43.tar.xz
time-created2025-04-25 15:10:41
time-finished2025-04-25 15:22:10
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'unicontrol,cppcheck,gcc,clippy,shellcheck' '-o' '/tmp/tmpj4qp586a/protobuf-3.19.6-11.fc43.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpj4qp586a/protobuf-3.19.6-11.fc43.src.rpm'
tool-versioncsmock-3.8.1.20250422.172604.g26bc3d6-1.el9