[java-opensaml] branch master updated: IDP-1604 fix some null dereferences

Rod Widdowson rdw at steadingsoftware.com
Sat May 23 15:27:17 UTC 2020


This is an automated email from the git hooks/post-receive script.

rdw pushed a commit to branch master
in repository java-opensaml.

View the commit online:
http://git.shibboleth.net/view/?p=java-opensaml.git;a=commit;h=b197153d12621f90a2fbb953788cf437dd592c23

The following commit(s) were added to refs/heads/master by this push:
       new  b197153d1 IDP-1604 fix some null dereferences
b197153d1 is described below

commit b197153d12621f90a2fbb953788cf437dd592c23
Author: Rod Widdowson <rdw at steadingsoftware.com>
AuthorDate: Sat May 23 16:24:41 2020 +0100

    IDP-1604 fix some null dereferences
    
    https://issues.shibboleth.net/jira/browse/IDP-1604
    
    The Chaining provider has to be able to deal with returning a
    "Last XYZ event" when the event XYZ has never occured for one of
    its children.
    
    Flushed deep insided the status and giage code.
---
 .../opensaml/saml/metadata/resolver/ChainingMetadataResolver.java   | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/ChainingMetadataResolver.java b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/ChainingMetadataResolver.java
index a43949b8c..833861712 100644
--- a/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/ChainingMetadataResolver.java
+++ b/opensaml-saml-api/src/main/java/org/opensaml/saml/metadata/resolver/ChainingMetadataResolver.java
@@ -180,7 +180,7 @@ public class ChainingMetadataResolver extends AbstractIdentifiableInitializableC
         for (final MetadataResolver resolver : resolvers) {
             if (resolver instanceof RefreshableMetadataResolver) {
                 final Instant lastUpdate = ((RefreshableMetadataResolver) resolver).getLastUpdate();
-                if (ret == null || ret.isBefore(lastUpdate)) {
+                if (ret == null || lastUpdate == null || ret.isBefore(lastUpdate)) {
                     ret = lastUpdate;
                 }
             }
@@ -196,7 +196,7 @@ public class ChainingMetadataResolver extends AbstractIdentifiableInitializableC
         for (final MetadataResolver resolver : resolvers) {
             if (resolver instanceof RefreshableMetadataResolver) {
                 final Instant lastRefresh = ((RefreshableMetadataResolver) resolver).getLastRefresh();
-                if (ret == null || ret.isBefore(lastRefresh)) {
+                if (ret == null || lastRefresh == null || ret.isBefore(lastRefresh)) {
                     ret = lastRefresh;
                 }
             }
@@ -211,7 +211,7 @@ public class ChainingMetadataResolver extends AbstractIdentifiableInitializableC
         for (final MetadataResolver resolver : resolvers) {
             if (resolver instanceof RefreshableMetadataResolver) {
                 final Instant lastSuccessRefresh = ((RefreshableMetadataResolver) resolver).getLastSuccessfulRefresh();
-                if (ret == null || ret.isBefore(lastSuccessRefresh)) {
+                if (ret == null || lastSuccessRefresh == null || ret.isBefore(lastSuccessRefresh)) {
                     ret = lastSuccessRefresh;
                 }
             }

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list