summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>2022-05-13 10:59:24 +1200
committerAndrew Bartlett <abartlet@samba.org>2023-08-08 04:39:38 +0000
commit5c007600dcdfd60b0ef8f164716573ee644869a1 (patch)
tree4c48657ad58b60299995a7c88b6bbfd6ef7af94c /lib
parentc3ded9d934358260af9251c7c42e903d37a1bdd4 (diff)
downloadsamba-5c007600dcdfd60b0ef8f164716573ee644869a1.tar.gz
samba-5c007600dcdfd60b0ef8f164716573ee644869a1.tar.bz2
samba-5c007600dcdfd60b0ef8f164716573ee644869a1.zip
util/base64: add a note about zero length strings
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/util/base64.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/util/base64.c b/lib/util/base64.c
index 842c22ffdb0..7acc83d0eaf 100644
--- a/lib/util/base64.c
+++ b/lib/util/base64.c
@@ -115,8 +115,16 @@ _PUBLIC_ char *base64_encode_data_blob(TALLOC_CTX *mem_ctx, DATA_BLOB data)
size_t out_cnt, len, output_len;
char *result;
- if (!data.length || !data.data)
+ /*
+ * Note: we return NULL for a zero-length blob, even though it can be
+ * encoded as a zero length string in base64.
+ *
+ * FIXME, perhaps, but we need to check carefully before changing
+ * this.
+ */
+ if (data.length == 0 || data.data == NULL) {
return NULL;
+ }
out_cnt = 0;
len = data.length;