From 3c8a7f17f08b65d0d4048a4d3a708490be76bb6e Mon Sep 17 00:00:00 2001 From: Frank Denis Date: Tue, 19 Sep 2017 16:59:18 +0200 Subject: [PATCH] Add tests for short, invalid unpadded base64 strings --- test/default/sodium_utils.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/test/default/sodium_utils.c b/test/default/sodium_utils.c index 8febcdad..05641883 100644 --- a/test/default/sodium_utils.c +++ b/test/default/sodium_utils.c @@ -169,6 +169,17 @@ main(void) assert(sodium_base642bin(NULL, (size_t) 10U, "a=*", (size_t) 3U, "*", NULL, NULL, sodium_base64_VARIANT_URLSAFE) == -1); + assert(sodium_base642bin(buf1, sizeof buf1, "O1R", (size_t) 3U, NULL, NULL, NULL, + sodium_base64_VARIANT_ORIGINAL_NO_PADDING) == -1); + assert(sodium_base642bin(buf1, sizeof buf1, "O1Q", (size_t) 3U, NULL, NULL, NULL, + sodium_base64_VARIANT_ORIGINAL_NO_PADDING) == 0); + assert(sodium_base642bin(buf1, sizeof buf1, "O1", (size_t) 2U, NULL, NULL, NULL, + sodium_base64_VARIANT_ORIGINAL_NO_PADDING) == -1); + assert(sodium_base642bin(buf1, sizeof buf1, "Ow", (size_t) 2U, NULL, NULL, NULL, + sodium_base64_VARIANT_ORIGINAL_NO_PADDING) == 0); + assert(sodium_base642bin(buf1, sizeof buf1, "O", (size_t) 1U, NULL, NULL, NULL, + sodium_base64_VARIANT_ORIGINAL_NO_PADDING) == -1); + for (i = 0; i < 1000; i++) { assert(sizeof buf1 >= 100); bin_len = (size_t) randombytes_uniform(100);