Skip to content

Commit 81237b3

Browse files
committed
Add additional testing for edge cases
1 parent 1154a74 commit 81237b3

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

test/test_aes.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,9 +103,19 @@ void ecb_test()
103103
BOOST_TEST(plaintext == original_message);
104104

105105
// Bad inputs
106+
std::vector<std::byte> bad_key { std::byte{0x2b}, std::byte{0x7e}, std::byte{0x15}, std::byte{0x88} };
107+
std::span<const std::byte> bad_key_span {bad_key};
108+
BOOST_TEST(gen.init(bad_key_span) == boost::crypt::state::insufficient_key_length);
109+
BOOST_TEST(gen.init(bad_key) == boost::crypt::state::insufficient_key_length);
106110
boost::crypt::aes128<boost::crypt::aes_cipher_mode::ecb> gen2;
107111
BOOST_TEST(gen2.encrypt_no_padding(plaintext_span) == boost::crypt::state::uninitialized);
108112
BOOST_TEST(gen2.decrypt_no_padding(plaintext_span) == boost::crypt::state::uninitialized);
113+
114+
auto bad_message = bad_key;
115+
std::span<std::byte> bad_message_span {bad_message};
116+
BOOST_TEST(gen2.init(key_span) == boost::crypt::state::success);
117+
BOOST_TEST(gen2.encrypt_no_padding(bad_message) == boost::crypt::state::incorrect_message_length);
118+
BOOST_TEST(gen2.encrypt_no_padding(bad_message_span) == boost::crypt::state::incorrect_message_length);
109119
}
110120

111121
/*

0 commit comments

Comments
 (0)