]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib: test-base64 - Add test for base64_encode_get_size() in random lowlevel streaming...
authorStephan Bosch <stephan.bosch@open-xchange.com>
Wed, 16 Sep 2020 21:19:19 +0000 (23:19 +0200)
committertimo.sirainen <timo.sirainen@open-xchange.com>
Wed, 7 Oct 2020 14:08:11 +0000 (14:08 +0000)
src/lib/test-base64.c

index 023a6d20ee4f7f99c0f123b492c3e229c27bc1c8..939213d5ea5d6646088cf0fd2c03a16b9e409681 100644 (file)
@@ -984,7 +984,7 @@ test_base64_random_lowlevel_stream(const struct base64_scheme *b64,
                size_t buf_ch, out_ch;
                size_t left = (buf_end - buf_p);
                size_t used = buf1->used;
-               size_t src_pos;
+               size_t src_pos, out_size;
 
                if (chunk_size == 0) {
                        buf_ch = i_rand_limit(32);
@@ -1001,7 +1001,10 @@ test_base64_random_lowlevel_stream(const struct base64_scheme *b64,
                if (buf_ch > left)
                        buf_ch = left;
 
+               out_size = base64_encode_get_size(&enc, buf_ch);
+
                base64_encode_more(&enc, buf_p, buf_ch, &src_pos, &out);
+               test_assert_idx(out.used <= out_size, test_idx);
                buf_p += src_pos;
                i_assert(out_space >= out.used);
                out_space -= out.used;