diff options
author | Andreas Steffen <andreas.steffen@strongswan.org> | 2011-01-10 05:06:59 +0100 |
---|---|---|
committer | Andreas Steffen <andreas.steffen@strongswan.org> | 2011-01-11 01:17:40 +0100 |
commit | f33966fe8f3fba72b77ad8a3a162db4c6bf1ba97 (patch) | |
tree | 98611b8f8213b4cac9df70f7742dbb1ce2d41211 /src | |
parent | 8a284e04542e1576dceca76828d91857d9f7f168 (diff) | |
download | strongswan-f33966fe8f3fba72b77ad8a3a162db4c6bf1ba97.tar.bz2 strongswan-f33966fe8f3fba72b77ad8a3a162db4c6bf1ba97.tar.xz |
handle zero size Base64 conversions
Diffstat (limited to 'src')
-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; |