From: Arran Cudbard-Bell Date: Tue, 1 Jun 2021 23:27:23 +0000 (-0500) Subject: Always terminate the output buffer (even on zero length input) X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2e3c69135bb16542d7a01d0f1ad36f8baffb2bfe;p=thirdparty%2Ffreeradius-server.git Always terminate the output buffer (even on zero length input) --- diff --git a/src/lib/util/base16.c b/src/lib/util/base16.c index a5f4990a8f4..5f7505bcdc5 100644 --- a/src/lib/util/base16.c +++ b/src/lib/util/base16.c @@ -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); } diff --git a/src/lib/util/base32.c b/src/lib/util/base32.c index fadbce289d4..f5aa0e0628c 100644 --- a/src/lib/util/base32.c +++ b/src/lib/util/base32.c @@ -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); } diff --git a/src/lib/util/base64.c b/src/lib/util/base64.c index ab3bc15d471..7cbc5faae05 100644 --- a/src/lib/util/base64.c +++ b/src/lib/util/base64.c @@ -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); }