]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
r5158: BUG 2263: patch from Timur Bakeyev <timur@com.bat.ru> to guard base64_encode_d...
authorGerald Carter <jerry@samba.org>
Tue, 1 Feb 2005 18:24:39 +0000 (18:24 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 15:55:30 +0000 (10:55 -0500)
source/lib/util_str.c

index 394c8e27cff2a31696df30abacf08b90b545d3ac..f99c2d1fb320a8150b8c2a0fadd607a45263c7dc 100644 (file)
@@ -2016,10 +2016,16 @@ char * base64_encode_data_blob(DATA_BLOB data)
 {
        int bits = 0;
        int char_count = 0;
-       size_t out_cnt = 0;
-       size_t len = data.length;
-       size_t output_len = data.length * 2;
-       char *result = SMB_MALLOC(output_len); /* get us plenty of space */
+       size_t out_cnt, len, output_len;
+       char *result;
+
+        if (!data.length || !data.data)
+               return NULL;
+
+       out_cnt = 0;
+       len = data.length;
+       output_len = data.length * 2;
+       result = SMB_MALLOC(output_len); /* get us plenty of space */
 
        while (len-- && out_cnt < (data.length * 2) - 5) {
                int c = (unsigned char) *(data.data++);