Skip to content

Commit f75adfd

Browse files
committed
Check for JSONObject.NULL before casting to String [Fixes #209]
1 parent 538de56 commit f75adfd

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

Parse/src/main/java/com/parse/ParseUser.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,11 @@ public Builder newBuilder() {
141141
}
142142

143143
public String sessionToken() {
144-
return (String) get(KEY_SESSION_TOKEN);
144+
Object value = get(KEY_SESSION_TOKEN);
145+
if (!(value instanceof String)) {
146+
return null;
147+
}
148+
return (String) value;
145149
}
146150

147151
@SuppressWarnings("unchecked")

Parse/src/test/java/com/parse/ParseUserTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1091,6 +1091,15 @@ public void testDontOverwriteSessionTokenForCurrentUser() throws Exception {
10911091
assertNull(user.getString("key2"));
10921092
}
10931093

1094+
@Test
1095+
public void testSessionTokenFromNull() throws Exception {
1096+
ParseUser.State userState = new ParseUser.State.Builder()
1097+
.put("sessionToken", JSONObject.NULL)
1098+
.build();
1099+
ParseUser user = ParseObject.from(userState);
1100+
assertNull(user.getSessionToken());
1101+
}
1102+
10941103
//endregion
10951104

10961105
//region testUnlinkFromAsync

0 commit comments

Comments
 (0)