From 9acbfaed4357900833a02d180d4be5e85cfd38e6 Mon Sep 17 00:00:00 2001 From: Justin Richer Date: Tue, 13 May 2014 13:37:20 -0400 Subject: [PATCH] added some null safety to the reader --- .../service/impl/MITREidDataService_1_0.java | 28 +++++++++++++++---- 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/openid-connect-server/src/main/java/org/mitre/openid/connect/service/impl/MITREidDataService_1_0.java b/openid-connect-server/src/main/java/org/mitre/openid/connect/service/impl/MITREidDataService_1_0.java index 8f0ab06ee..2fdfbfdae 100644 --- a/openid-connect-server/src/main/java/org/mitre/openid/connect/service/impl/MITREidDataService_1_0.java +++ b/openid-connect-server/src/main/java/org/mitre/openid/connect/service/impl/MITREidDataService_1_0.java @@ -538,8 +538,12 @@ public class MITREidDataService_1_0 implements MITREidDataService { if (name.equals("id")) { currentId = reader.nextLong(); } else if (name.equals("expiration")) { - Date date = utcToDate(reader.nextString()); - token.setExpiration(date); + if (reader.peek() == JsonToken.NULL) { + reader.nextNull(); + } else { + Date date = utcToDate(reader.nextString()); + token.setExpiration(date); + } } else if (name.equals("value")) { token.setValue(reader.nextString()); } else if (name.equals("clientId")) { @@ -590,8 +594,12 @@ public class MITREidDataService_1_0 implements MITREidDataService { if (name.equals("id")) { currentId = reader.nextLong(); } else if (name.equals("expiration")) { - Date date = utcToDate(reader.nextString()); - token.setExpiration(date); + if (reader.peek() == JsonToken.NULL) { + reader.nextNull(); + } else { + Date date = utcToDate(reader.nextString()); + token.setExpiration(date); + } } else if (name.equals("value")) { token.setValue(reader.nextString()); } else if (name.equals("clientId")) { @@ -599,9 +607,17 @@ public class MITREidDataService_1_0 implements MITREidDataService { } else if (name.equals("authenticationHolderId")) { authHolderId = reader.nextLong(); } else if (name.equals("refreshTokenId")) { - refreshTokenId = reader.nextLong(); + if (reader.peek() == JsonToken.NULL) { + reader.nextNull(); + } else { + refreshTokenId = reader.nextLong(); + } } else if (name.equals("idTokenId")) { - idTokenId = reader.nextLong(); + if (reader.peek() == JsonToken.NULL) { + reader.nextNull(); + } else { + idTokenId = reader.nextLong(); + } } else if (name.equals("scope")) { reader.beginArray(); Set scope = new HashSet();