summaryrefslogtreecommitdiff
path: root/plugins/encodings/base64.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/encodings/base64.c')
-rw-r--r--plugins/encodings/base64.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/plugins/encodings/base64.c b/plugins/encodings/base64.c
index 61b88e0..c749a87 100644
--- a/plugins/encodings/base64.c
+++ b/plugins/encodings/base64.c
@@ -54,8 +54,8 @@ bool _base64_encode(const sized_binary_t *input, sized_string_t *output, const s
output->len = input->len * 4 / 3;
- if (input->len % 3 != 0)
- output->len++;
+ if (output->len % 4 != 0)
+ output->len += (4 - output->len % 4);
output->data = malloc((output->len + 1) * sizeof(bin_t));
@@ -78,6 +78,8 @@ bool _base64_encode(const sized_binary_t *input, sized_string_t *output, const s
*iter++ = alpha[src[i + 2] & 0x3f];
}
+ else
+ i = 0;
/* Bourrage final ? */