diff options
-rw-r--r-- | src/libcharon/plugins/tnccs_11/messages/imc_imv_msg.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libcharon/plugins/tnccs_11/messages/imc_imv_msg.c b/src/libcharon/plugins/tnccs_11/messages/imc_imv_msg.c index c99cd2ef3..eafb14e52 100644 --- a/src/libcharon/plugins/tnccs_11/messages/imc_imv_msg.c +++ b/src/libcharon/plugins/tnccs_11/messages/imc_imv_msg.c @@ -64,6 +64,14 @@ static chunk_t encode_base64(chunk_t data) u_char *pos; size_t b64_chars, b64_lines; + /* handle empty message data object */ + if (data.len == 0) + { + encoding = chunk_alloc(1); + *encoding.ptr = '\0'; + return encoding; + } + /* compute and allocate maximum size of base64 object */ b64_chars = 4 * ((data.len + 2) / 3); b64_lines = (data.len + BYTES_PER_LINE - 1) / BYTES_PER_LINE; |