The following issues were found
src/third_party/abseil-cpp-master/abseil-cpp/absl/strings/internal/char_map_test.cc
1 issues
Line: 30
~absl::strings_internal::Charmap();
constexpr absl::strings_internal::Charmap nothing_map{};
TEST(Charmap, AllTests) {
const absl::strings_internal::Charmap also_nothing_map("", 0);
ASSERT_TRUE(everything_map.contains('\0'));
ASSERT_TRUE(!nothing_map.contains('\0'));
ASSERT_TRUE(!also_nothing_map.contains('\0'));
for (unsigned char ch = 1; ch != 0; ++ch) {
Reported by Cppcheck.
src/third_party/abseil-cpp-master/abseil-cpp/absl/strings/internal/charconv_bigint_test.cc
1 issues
Line: 129
}
}
TEST(BigUnsigned, MultiplyByUint32) {
const BigUnsigned<84> factorial_100(
"933262154439441526816992388562667004907159682643816214685929638952175999"
"932299156089414639761565182862536979208272237582511852109168640000000000"
"00000000000000");
BigUnsigned<84> a(1u);
Reported by Cppcheck.
src/third_party/abseil-cpp-master/abseil-cpp/absl/strings/internal/charconv_parse_test.cc
1 issues
Line: 127
EXPECT_EQ(parsed.end, nullptr);
}
TEST(ParseFloat, SimpleValue) {
// Test that various forms of floating point numbers all parse correctly.
ExpectNumber<10>("1.23456789e5$", chars_format::general, 123456789, -3);
ExpectNumber<10>("1.23456789e+5$", chars_format::general, 123456789, -3);
ExpectNumber<10>("1.23456789E5$", chars_format::general, 123456789, -3);
ExpectNumber<10>("1.23456789e05$", chars_format::general, 123456789, -3);
Reported by Cppcheck.
src/third_party/abseil-cpp-master/abseil-cpp/absl/strings/internal/cord_rep_ring.h
1 issues
Line: 480
Column: 29
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
index_type capacity_;
pos_type begin_pos_;
alignas(kLayoutAlignment) char data_[kLayoutAlignment];
friend struct CordRep;
};
constexpr size_t CordRepRing::AllocSize(size_t capacity) {
Reported by FlawFinder.
src/third_party/abseil-cpp-master/abseil-cpp/absl/strings/internal/memutil.cc
1 issues
Line: 39
Column: 3
CWE codes:
120
Suggestion:
Make sure destination can always hold the source data
char* memdup(const char* s, size_t slen) {
void* copy;
if ((copy = malloc(slen)) == nullptr) return nullptr;
memcpy(copy, s, slen);
return reinterpret_cast<char*>(copy);
}
char* memrchr(const char* s, int c, size_t slen) {
for (const char* e = s + slen - 1; e >= s; e--) {
Reported by FlawFinder.
src/third_party/abseil-cpp-master/abseil-cpp/absl/strings/internal/ostringstream_test.cc
1 issues
Line: 32
"");
}
TEST(OStringStream, ConstructDestroy) {
{
absl::strings_internal::OStringStream strm(nullptr);
EXPECT_EQ(nullptr, strm.str());
}
{
Reported by Cppcheck.
src/third_party/abseil-cpp-master/abseil-cpp/absl/strings/internal/pow10_helper_test.cc
1 issues
Line: 34
int radix; // significand is adjusted by 2^radix
};
TEST(Pow10HelperTest, Works) {
// The logic in pow10_helper.cc is so simple that theoretically we don't even
// need a test. However, we're paranoid and believe that there may be
// compilers that don't round floating-point literals correctly, even though
// it is specified by the standard. We check various edge cases, just to be
// sure.
Reported by Cppcheck.
src/third_party/abseil-cpp-master/abseil-cpp/absl/strings/internal/resize_uninitialized_test.cc
1 issues
Line: 48
void __resize_default_init(size_t) { resize_default_init_call_count += 1; }
};
TEST(ResizeUninit, WithAndWithout) {
resize_call_count = 0;
resize_default_init_call_count = 0;
{
resizable_string rs;
Reported by Cppcheck.
src/third_party/abseil-cpp-master/abseil-cpp/absl/strings/internal/str_format/arg_test.cc
1 issues
Line: 43
return {false};
}
TEST_F(FormatArgImplTest, ToInt) {
int out = 0;
EXPECT_TRUE(FormatArgImplFriend::ToInt(FormatArgImpl(1), &out));
EXPECT_EQ(1, out);
EXPECT_TRUE(FormatArgImplFriend::ToInt(FormatArgImpl(-1), &out));
EXPECT_EQ(-1, out);
Reported by Cppcheck.
src/third_party/abseil-cpp-master/abseil-cpp/absl/strings/internal/str_format/bind.cc
1 issues
Line: 205
Column: 47
CWE codes:
327
Suggestion:
Use a more secure technique for acquiring random values
}
std::ostream& Streamable::Print(std::ostream& os) const {
if (!FormatUntyped(&os, format_, args_)) os.setstate(std::ios::failbit);
return os;
}
std::string& AppendPack(std::string* out, const UntypedFormatSpecImpl format,
absl::Span<const FormatArgImpl> args) {
Reported by FlawFinder.