From 2f45703c670afd20e2d79e2dc51070856ae0eb65 Mon Sep 17 00:00:00 2001 From: Scott Cantor Date: Fri, 14 Dec 2007 18:13:20 +0000 Subject: [PATCH] Fix for no conditions. --- saml/saml1/profile/AssertionValidator.cpp | 5 ++++- saml/saml2/profile/Assertion20Validator.cpp | 6 ++++-- 2 files changed, 8 insertions(+), 3 deletions(-) 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); -- 2.1.4