From: Scott Cantor Date: Fri, 14 Dec 2007 18:13:20 +0000 (+0000) Subject: Fix for no conditions. X-Git-Tag: 2.0-rc1~10 X-Git-Url: http://www.project-moonshot.org/gitweb/?p=shibboleth%2Fcpp-opensaml.git;a=commitdiff_plain;h=2f45703c670afd20e2d79e2dc51070856ae0eb65 Fix for no conditions. --- diff --git a/saml/saml1/profile/AssertionValidator.cpp b/saml/saml1/profile/AssertionValidator.cpp index 69cdf25..31014d4 100644 --- a/saml/saml1/profile/AssertionValidator.cpp +++ b/saml/saml1/profile/AssertionValidator.cpp @@ -47,8 +47,11 @@ void AssertionValidator::validateAssertion(const Assertion& assertion) const #endif const Conditions* conds = assertion.getConditions(); + if (!conds) + return; + // First verify the time conditions, using the specified timestamp, if non-zero. - if (m_ts>0 && conds) { + if (m_ts>0) { unsigned int skew = XMLToolingConfig::getConfig().clock_skew_secs; time_t t=conds->getNotBeforeEpoch(); if (m_ts+skew < t) diff --git a/saml/saml2/profile/Assertion20Validator.cpp b/saml/saml2/profile/Assertion20Validator.cpp index 373df27..faff298 100644 --- a/saml/saml2/profile/Assertion20Validator.cpp +++ b/saml/saml2/profile/Assertion20Validator.cpp @@ -47,8 +47,11 @@ void AssertionValidator::validateAssertion(const Assertion& assertion) const #endif const Conditions* conds = assertion.getConditions(); + if (!conds) + return; + // First verify the time conditions, using the specified timestamp, if non-zero. - if (m_ts>0 && conds) { + if (m_ts>0) { unsigned int skew = XMLToolingConfig::getConfig().clock_skew_secs; time_t t=conds->getNotBeforeEpoch(); if (m_ts+skew < t) @@ -59,7 +62,6 @@ void AssertionValidator::validateAssertion(const Assertion& assertion) const } // Now we process conditions, starting with the known types and then extensions. - const vector& acvec = conds->getAudienceRestrictions(); for (vector::const_iterator ac = acvec.begin(); ac!=acvec.end(); ++ac) validateCondition(*ac);