Skip to content

Commit 2262605

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

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
@@ -131,7 +131,11 @@ public Builder newBuilder() {
131131
}
132132

133133
public String sessionToken() {
134-
return (String) get(KEY_SESSION_TOKEN);
134+
Object value = get(KEY_SESSION_TOKEN);
135+
if (!(value instanceof String)) {
136+
return null;
137+
}
138+
return (String) value;
135139
}
136140

137141
@SuppressWarnings("unchecked")

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

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

1059+
@Test
1060+
public void testSessionTokenFromNull() throws Exception {
1061+
ParseUser.State userState = new ParseUser.State.Builder()
1062+
.put("sessionToken", JSONObject.NULL)
1063+
.build();
1064+
ParseUser user = ParseObject.from(userState);
1065+
assertNull(user.getSessionToken());
1066+
}
1067+
10591068
//endregion
10601069

10611070
//region testUnlinkFromAsync

0 commit comments

Comments
 (0)