PadderPkcs7: Do not allow to pad empty ranges.
Chaos Ci / test (push) Successful in 3m2s
Chaos Ci / benchmark (push) Successful in 1m50s

This commit is contained in:
hashlag
2026-08-03 02:39:44 +03:00
parent cd4e4b9cfc
commit 8ff1e4b369
2 changed files with 14 additions and 5 deletions
+1 -2
View File
@@ -21,8 +21,7 @@ public:
{
auto dist = std::distance(begin, end);
// TODO: dist > 0
if (dist >= 0 && dist <= std::numeric_limits<uint8_t>::max())
if (dist > 0 && dist <= std::numeric_limits<uint8_t>::max())
{
for (OutputIt it = begin; it != end; ++it)
{
+13 -3
View File
@@ -45,7 +45,7 @@ TEST(PadPkcs7Tests, PadTest)
ASSERT_EQ(expected, fact);
}
for (int i = 0; i < 256; ++i)
for (int i = 1; i < 256; ++i)
{
std::vector<uint8_t> fact(i, 0x00);
@@ -85,6 +85,16 @@ TEST(PadPkcs7Tests, PadInvalidRangeTest)
ASSERT_EQ("PadderPkcs7::Pad(): invalid range", ex.GetMessage());
});
}
{
std::array<uint8_t, 0> out = {};
ASSERT_THROW_EX(PadderPkcs7::Pad(out.end(), out.begin()),
Chaos::Service::ChaosException,
{
ASSERT_EQ("PadderPkcs7::Pad(): invalid range", ex.GetMessage());
});
}
}
TEST(PadPkcs7Tests, PadOutIteratorUsageTest)
@@ -127,10 +137,10 @@ TEST(PadPkcs7Tests, PadOutIteratorUsageTest)
std::array<uint8_t, 10> expected =
{
0xbb, 0xbb, 0xbb, 0xbb, 0xbb,
0xbb, 0xbb, 0xbb, 0xbb, 0xbb
0x01, 0xbb, 0xbb, 0xbb, 0xbb
};
PadderPkcs7::Pad(fact.begin() + 5, fact.begin() + 5);
PadderPkcs7::Pad(fact.begin() + 5, fact.begin() + 6);
ASSERT_EQ(expected, fact);
}
}