diff options
Diffstat (limited to 'plugins/encodings/base64.c')
-rw-r--r-- | plugins/encodings/base64.c | 6 |
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 ? */ |