From: cantor Date: Tue, 24 Nov 2009 18:01:36 +0000 (+0000) Subject: Add additional logging and fix a leak on an error path. X-Git-Tag: 2.4.1~101 X-Git-Url: http://www.project-moonshot.org/gitweb/?p=shibboleth%2Fopensaml2.git;a=commitdiff_plain;h=95eaa26a0f19ef745332f9ae29ee56895d2dbab8 Add additional logging and fix a leak on an error path. git-svn-id: https://svn.middleware.georgetown.edu/cpp-opensaml2/branches/REL_2@526 fb386ef7-a10c-0410-8ebf-fd3f8e989ab0 --- diff --git a/saml/saml2/binding/impl/SAML2ArtifactDecoder.cpp b/saml/saml2/binding/impl/SAML2ArtifactDecoder.cpp index e9fab4d..b3e1502 100644 --- a/saml/saml2/binding/impl/SAML2ArtifactDecoder.cpp +++ b/saml/saml2/binding/impl/SAML2ArtifactDecoder.cpp @@ -116,8 +116,9 @@ XMLObject* SAML2ArtifactDecoder::decode( // Check the type. auto_ptr artifact2(dynamic_cast(artifact)); if (!artifact2.get()) { - throw BindingException("Artifact binding requires SAML 2.0 artifact."); delete artifact; + log.error("wrong artifact type"); + throw BindingException("Artifact binding requires SAML 2.0 artifact."); } log.debug("attempting to determine source of artifact..."); @@ -158,8 +159,10 @@ XMLObject* SAML2ArtifactDecoder::decode( // Now extract details from the payload and check that message. XMLObject* payload = response->getPayload(); - if (!payload) + if (!payload) { + log.error("ArtifactResponse message did not contain a protocol message"); throw BindingException("ArtifactResponse message did not contain a protocol message."); + } extractMessageDetails(*payload, genericRequest, samlconstants::SAML20P_NS, policy); policy.evaluate(*payload, &genericRequest);