The following issues were found
src/third_party/abseil-cpp-master/abseil-cpp/absl/random/internal/randen_test.cc
1 issues
Line: 29
// Local state parameters.
constexpr size_t kStateSizeT = Randen::kStateBytes / sizeof(uint64_t);
TEST(RandenTest, CopyAndMove) {
static_assert(std::is_copy_constructible<Randen>::value,
"Randen must be copy constructible");
static_assert(absl::is_copy_assignable<Randen>::value,
"Randen must be copy assignable");
Reported by Cppcheck.
src/third_party/abseil-cpp-master/abseil-cpp/absl/random/internal/salted_seed_seq_test.cc
1 issues
Line: 67
}
}
TEST(SaltedSeedSeq, CheckInterfaces) {
// Control case
ConformsToInterface<std::seed_seq>();
// Abseil classes
ConformsToInterface<SaltedSeedSeq<std::seed_seq>>();
Reported by Cppcheck.
src/third_party/abseil-cpp-master/abseil-cpp/absl/random/internal/seed_material_test.cc
1 issues
Line: 43
using testing::Ne;
using testing::Pointwise;
TEST(SeedBitsToBlocks, VerifyCases) {
EXPECT_EQ(0, absl::random_internal::SeedBitsToBlocks(0));
EXPECT_EQ(1, absl::random_internal::SeedBitsToBlocks(1));
EXPECT_EQ(1, absl::random_internal::SeedBitsToBlocks(31));
EXPECT_EQ(1, absl::random_internal::SeedBitsToBlocks(32));
EXPECT_EQ(2, absl::random_internal::SeedBitsToBlocks(33));
Reported by Cppcheck.
src/third_party/abseil-cpp-master/abseil-cpp/absl/random/internal/traits_test.cc
1 issues
Line: 104
"Unexpected result for is_widening_convertible<T, U>!");
}
TEST(TraitsTest, IsWideningConvertibleTest) {
constexpr bool kInvalid = false;
CheckWideningConvertsToSelf<
uint8_t, uint16_t, uint32_t, uint64_t,
int8_t, int16_t, int32_t, int64_t,
Reported by Cppcheck.
src/third_party/abseil-cpp-master/abseil-cpp/absl/random/internal/uniform_helper_test.cc
1 issues
Line: 35
class UniformHelperTest : public testing::Test {};
TEST_F(UniformHelperTest, UniformBoundFunctionsGeneral) {
constexpr IntervalClosedClosedTag IntervalClosedClosed;
constexpr IntervalClosedOpenTag IntervalClosedOpen;
constexpr IntervalOpenClosedTag IntervalOpenClosed;
constexpr IntervalOpenOpenTag IntervalOpenOpen;
Reported by Cppcheck.
src/third_party/abseil-cpp-master/abseil-cpp/absl/random/mock_distributions_test.cc
1 issues
Line: 24
namespace {
using ::testing::Return;
TEST(MockDistributions, Examples) {
absl::MockingBitGen gen;
EXPECT_NE(absl::Uniform<int>(gen, 1, 1000000), 20);
EXPECT_CALL(absl::MockUniform<int>(), Call(gen, 1, 1000000))
.WillOnce(Return(20));
Reported by Cppcheck.
src/third_party/abseil-cpp-master/abseil-cpp/absl/random/mocking_bit_gen_test.cc
1 issues
Line: 34
using ::testing::Ne;
using ::testing::Return;
TEST(BasicMocking, AllDistributionsAreOverridable) {
absl::MockingBitGen gen;
EXPECT_NE(absl::Uniform<int>(gen, 1, 1000000), 20);
EXPECT_CALL(absl::MockUniform<int>(), Call(gen, 1, 1000000))
.WillOnce(Return(20));
Reported by Cppcheck.
src/third_party/abseil-cpp-master/abseil-cpp/absl/status/internal/statusor_internal.h
1 issues
Line: 39
Column: 11
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
struct HasConversionOperatorToStatusOr : std::false_type {};
template <typename T, typename U>
void test(char (*)[sizeof(std::declval<U>().operator absl::StatusOr<T>())]);
template <typename T, typename U>
struct HasConversionOperatorToStatusOr<T, U, decltype(test<T, U>(0))>
: std::true_type {};
Reported by FlawFinder.
src/third_party/abseil-cpp-master/abseil-cpp/absl/status/statusor_test.cc
1 issues
Line: 225
return absl::make_unique<int>(0);
}
TEST(StatusOr, ElementType) {
static_assert(std::is_same<absl::StatusOr<int>::value_type, int>(), "");
static_assert(std::is_same<absl::StatusOr<char>::value_type, char>(), "");
}
TEST(StatusOr, TestMoveOnlyInitialization) {
Reported by Cppcheck.
src/third_party/abseil-cpp-master/abseil-cpp/absl/strings/charconv.cc
1 issues
Line: 295
Column: 14
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
// https://bugs.llvm.org/show_bug.cgi?id=37778
// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86113
constexpr ptrdiff_t kNanBufferSize = 128;
volatile char n_char_sequence[kNanBufferSize];
if (input.subrange_begin == nullptr) {
n_char_sequence[0] = '\0';
} else {
ptrdiff_t nan_size = input.subrange_end - input.subrange_begin;
nan_size = std::min(nan_size, kNanBufferSize - 1);
Reported by FlawFinder.