diff --git a/tests/api/test_camellia.c b/tests/api/test_camellia.c index cf557d50bd..34d33491bc 100644 --- a/tests/api/test_camellia.c +++ b/tests/api/test_camellia.c @@ -210,6 +210,12 @@ int test_wc_CamelliaCbcEncryptDecrypt(void) WC_CAMELLIA_BLOCK_SIZE), WC_NO_ERR_TRACE(BAD_FUNC_ARG)); ExpectIntEQ(wc_CamelliaCbcDecrypt(&camellia, dec, NULL, WC_CAMELLIA_BLOCK_SIZE), WC_NO_ERR_TRACE(BAD_FUNC_ARG)); + + /* non-block-aligned input rejected with BAD_LENGTH_E */ + ExpectIntEQ(wc_CamelliaCbcEncrypt(&camellia, enc, plainT, + WC_CAMELLIA_BLOCK_SIZE - 1), WC_NO_ERR_TRACE(BAD_LENGTH_E)); + ExpectIntEQ(wc_CamelliaCbcDecrypt(&camellia, dec, enc, + WC_CAMELLIA_BLOCK_SIZE - 1), WC_NO_ERR_TRACE(BAD_LENGTH_E)); #endif return EXPECT_RESULT(); } /* END test_wc_CamelliaCbcEncryptDecrypt */ diff --git a/tests/api/test_des3.c b/tests/api/test_des3.c index 541a108942..572428e1c3 100644 --- a/tests/api/test_des3.c +++ b/tests/api/test_des3.c @@ -165,6 +165,12 @@ int test_wc_Des3_CbcEncryptDecrypt(void) ExpectIntEQ(wc_Des3_CbcDecrypt(&des, plain, NULL, 24), WC_NO_ERR_TRACE(BAD_FUNC_ARG)); + /* non-block-aligned input rejected with BAD_LENGTH_E */ + ExpectIntEQ(wc_Des3_CbcEncrypt(&des, cipher, vector, DES_BLOCK_SIZE - 1), + WC_NO_ERR_TRACE(BAD_LENGTH_E)); + ExpectIntEQ(wc_Des3_CbcDecrypt(&des, plain, cipher, DES_BLOCK_SIZE - 1), + WC_NO_ERR_TRACE(BAD_LENGTH_E)); + wc_Des3Free(&des); #endif return EXPECT_RESULT(); diff --git a/tests/api/test_rc2.c b/tests/api/test_rc2.c index 5b5089a2e0..58a78a756a 100644 --- a/tests/api/test_rc2.c +++ b/tests/api/test_rc2.c @@ -216,6 +216,12 @@ int test_wc_Rc2CbcEncryptDecrypt(void) /* null input buffer */ ExpectIntEQ(wc_Rc2CbcDecrypt(&rc2, plain, NULL, sizeof(output)), WC_NO_ERR_TRACE(BAD_FUNC_ARG)); + + /* non-block-aligned input rejected with BAD_LENGTH_E */ + ExpectIntEQ(wc_Rc2CbcEncrypt(&rc2, cipher, input, RC2_BLOCK_SIZE - 1), + WC_NO_ERR_TRACE(BAD_LENGTH_E)); + ExpectIntEQ(wc_Rc2CbcDecrypt(&rc2, plain, output, RC2_BLOCK_SIZE - 1), + WC_NO_ERR_TRACE(BAD_LENGTH_E)); #endif return EXPECT_RESULT(); } /* END test_wc_Rc2CbcEncryptDecrypt */