aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndreas Steffen <andreas.steffen@strongswan.org>2011-01-10 05:06:59 +0100
committerAndreas Steffen <andreas.steffen@strongswan.org>2011-01-11 01:17:40 +0100
commitf33966fe8f3fba72b77ad8a3a162db4c6bf1ba97 (patch)
tree98611b8f8213b4cac9df70f7742dbb1ce2d41211 /src
parent8a284e04542e1576dceca76828d91857d9f7f168 (diff)
downloadstrongswan-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.c8
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;