]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
util/base64: add a note about zero length strings
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Thu, 12 May 2022 22:59:24 +0000 (10:59 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Tue, 8 Aug 2023 04:39:38 +0000 (04:39 +0000)
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
lib/util/base64.c

index 842c22ffdb04d1838d2a62a5d82641e57752ee4d..7acc83d0eafe8e584bd2bc7b1f514a6cd174cb35 100644 (file)
@@ -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;