From 42ccb8b39ef6a2b1d1c971a17f42dd38b7bf9be9 Mon Sep 17 00:00:00 2001 From: Justin Richer Date: Sun, 24 Jul 2016 14:55:12 -0400 Subject: [PATCH] make software statement processing null-safe --- .../connect/ClientDetailsEntityJsonProcessor.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/openid-connect-common/src/main/java/org/mitre/openid/connect/ClientDetailsEntityJsonProcessor.java b/openid-connect-common/src/main/java/org/mitre/openid/connect/ClientDetailsEntityJsonProcessor.java index 6282c31ff..21307d364 100644 --- a/openid-connect-common/src/main/java/org/mitre/openid/connect/ClientDetailsEntityJsonProcessor.java +++ b/openid-connect-common/src/main/java/org/mitre/openid/connect/ClientDetailsEntityJsonProcessor.java @@ -82,6 +82,7 @@ import org.springframework.beans.factory.annotation.Qualifier; import com.google.common.base.Joiner; import com.google.common.base.Splitter; +import com.google.common.base.Strings; import com.google.common.collect.Sets; import com.google.gson.JsonElement; import com.google.gson.JsonObject; @@ -204,12 +205,14 @@ public class ClientDetailsEntityJsonProcessor { c.setClaimsRedirectUris(getAsStringSet(o, CLAIMS_REDIRECT_URIS)); String softwareStatement = getAsString(o, SOFTWARE_STATEMENT); - try { - JWT softwareStatementJwt = JWTParser.parse(softwareStatement); - c.setSoftwareStatement(softwareStatementJwt); - } catch (ParseException e) { - logger.warn("Error parsing software statement", e); - return null; + if (!Strings.isNullOrEmpty(softwareStatement)) { + try { + JWT softwareStatementJwt = JWTParser.parse(softwareStatement); + c.setSoftwareStatement(softwareStatementJwt); + } catch (ParseException e) { + logger.warn("Error parsing software statement", e); + return null; + } }