aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndreas Steffen <andreas.steffen@strongswan.org>2013-08-12 11:52:32 +0200
committerAndreas Steffen <andreas.steffen@strongswan.org>2013-08-15 23:34:23 +0200
commit9cc606d22a479c0ee055cb848b762e3604b497bc (patch)
tree281286ecf496485d04ab97c1b72abbed84999893 /src
parent663ea1407de5ca39f2ecac969daa77e1a0052657 (diff)
downloadstrongswan-9cc606d22a479c0ee055cb848b762e3604b497bc.tar.bz2
strongswan-9cc606d22a479c0ee055cb848b762e3604b497bc.tar.xz
Fixed memory leak in SASL PLAIN
Diffstat (limited to 'src')
-rw-r--r--src/libpttls/sasl/sasl_plain/sasl_plain.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/libpttls/sasl/sasl_plain/sasl_plain.c b/src/libpttls/sasl/sasl_plain/sasl_plain.c
index fdb3523cb..019c1b011 100644
--- a/src/libpttls/sasl/sasl_plain/sasl_plain.c
+++ b/src/libpttls/sasl/sasl_plain/sasl_plain.c
@@ -117,11 +117,14 @@ METHOD(sasl_mechanism_t, build_client, status_t,
len = snprintf(buf, sizeof(buf), "%s%c%Y%c%.*s",
"", 0, this->client, 0,
(int)password.len, password.ptr);
+ shared->destroy(shared);
+
if (len < 0 || len >= sizeof(buf))
{
return FAILED;
}
*message = chunk_clone(chunk_create(buf, len));
+
return NEED_MORE;
}