From: Luke Howard Date: Mon, 4 Apr 2011 15:20:22 +0000 (+1000) Subject: plug leaks in 898862478f9adecfc5580814cf1296464c448b1b X-Git-Tag: tr-beta1~203 X-Git-Url: http://www.project-moonshot.org/gitweb/?p=moonshot.git;a=commitdiff_plain;h=75f822a560d9fa5ec12eb3a5162ecc40dad01f9d plug leaks in 898862478f9adecfc5580814cf1296464c448b1b --- diff --git a/mech_eap/util_saml.cpp b/mech_eap/util_saml.cpp index 9658bf0..afce7f7 100644 --- a/mech_eap/util_saml.cpp +++ b/mech_eap/util_saml.cpp @@ -678,16 +678,20 @@ gss_eap_saml_attr_provider::getAttribute(const gss_buffer_t attr, ssize_t binaryLen; value->value = GSSEAP_MALLOC(stringValueLen); - if (value->value == NULL) + if (value->value == NULL) { + GSSEAP_FREE(stringValue); throw new std::bad_alloc; + } binaryLen = base64Decode(stringValue, value->value); if (binaryLen < 0) { GSSEAP_FREE(value->value); + GSSEAP_FREE(stringValue); value->value = NULL; return false; } value->length = binaryLen; + GSSEAP_FREE(stringValue); } else { value->value = stringValue; value->length = stringValueLen;