From f3fc089debe9eda1602c0684ffdc1bab84f36f6d Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Mon, 5 Dec 2022 10:08:53 +0100 Subject: [PATCH] unit1302: slightly extended To test more base64 decoding --- tests/unit/unit1302.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/unit/unit1302.c b/tests/unit/unit1302.c index afc5716626..a9f37b53f8 100644 --- a/tests/unit/unit1302.c +++ b/tests/unit/unit1302.c @@ -169,6 +169,15 @@ fail_unless(rc == CURLE_BAD_CONTENT_ENCODING, fail_unless(size == 0, "size should be 0"); fail_if(decoded, "returned pointer should be NULL"); +/* This is also illegal input as it contains a padding character mid input */ +size = 1; /* not zero */ +decoded = &anychar; /* not NULL */ +rc = Curl_base64_decode("aWlpa=Q=", &decoded, &size); +fail_unless(rc == CURLE_BAD_CONTENT_ENCODING, + "return code should be CURLE_BAD_CONTENT_ENCODING"); +fail_unless(size == 0, "size should be 0"); +fail_if(decoded, "returned pointer should be NULL"); + /* This is garbage input as it contains an illegal base64 character */ size = 1; /* not zero */ decoded = &anychar; /* not NULL */ @@ -178,4 +187,5 @@ fail_unless(rc == CURLE_BAD_CONTENT_ENCODING, fail_unless(size == 0, "size should be 0"); fail_if(decoded, "returned pointer should be NULL"); + UNITTEST_STOP