]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Always terminate the output buffer (even on zero length input)
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Tue, 1 Jun 2021 23:27:23 +0000 (18:27 -0500)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Tue, 1 Jun 2021 23:27:23 +0000 (18:27 -0500)
src/lib/util/base16.c
src/lib/util/base32.c
src/lib/util/base64.c

index a5f4990a8f4914edb6928e76e9d857b633b752c2..5f7505bcdc550be901df465b1b86ff87479cde9d 100644 (file)
@@ -124,6 +124,7 @@ ssize_t fr_base16_encode_nstd(fr_sbuff_t *out, fr_dbuff_t *in, char const alphab
                fr_dbuff_advance(&our_in, 1);
        }
 
+       fr_sbuff_terminate(out);        /* Ensure this is terminated, even on zero length input */
        fr_dbuff_set(in, &our_in);
        return fr_sbuff_set(out, &our_out);
 }
index fadbce289d4315b34e829426afee5e2d8de1193a..f5aa0e0628cc23cb1b8c76adb20dff30dc42a3dd 100644 (file)
@@ -293,6 +293,7 @@ ssize_t fr_base32_encode_nstd(fr_sbuff_t *out, fr_dbuff_t *in,
 
        fr_strerror_clear();
 
+       fr_sbuff_terminate(out);        /* Ensure this is terminated, even on zero length input */
        fr_dbuff_set(in, &our_in);
        return fr_sbuff_set(out, &our_out);
 }
index ab3bc15d471ab81957dd6a1843ee3c6a6f0d3b58..7cbc5faae05242b436f249a9170112561badc5af 100644 (file)
@@ -379,6 +379,7 @@ ssize_t fr_base64_encode_nstd(fr_sbuff_t *out, fr_dbuff_t *in,
 
        fr_strerror_clear();
 
+       fr_sbuff_terminate(out);        /* Ensure this is terminated, even on zero length input */
        fr_dbuff_set(in, &our_in);
        return fr_sbuff_set(out, &our_out);
 }