Skip to content

Commit ac6d9e0

Browse files
authored
fix: failed signup attempt with anonymous ParseUser leaves it in inconsistent state (#1136)
1 parent 301c29b commit ac6d9e0

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -757,15 +757,15 @@ private Map<String, String> getAuthData(String authType) {
757757

758758
/* package */ void putAuthData(String authType, Map<String, String> authData) {
759759
synchronized (mutex) {
760-
Map<String, Map<String, String>> newAuthData = getAuthData();
760+
Map<String, Map<String, String>> newAuthData = new HashMap<>(getAuthData());
761761
newAuthData.put(authType, authData);
762762
performPut(KEY_AUTH_DATA, newAuthData);
763763
}
764764
}
765765

766766
private void removeAuthData(String authType) {
767767
synchronized (mutex) {
768-
Map<String, Map<String, String>> newAuthData = getAuthData();
768+
Map<String, Map<String, String>> newAuthData = new HashMap<>(getAuthData());
769769
newAuthData.remove(authType);
770770
performPut(KEY_AUTH_DATA, newAuthData);
771771
}

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -959,7 +959,7 @@ public void testSaveAsyncWithLazyAndCurrentUser() throws Exception {
959959
ParseTaskUtils.wait(partialMockUser.saveAsync("sessionToken", Task.<Void>forResult(null)));
960960

961961
// Make sure we clean authData
962-
assertFalse(partialMockUser.getAuthData().containsKey("facebook"));
962+
assertFalse(partialMockUser.getState().authData().containsKey("facebook"));
963963
// Make sure we save new currentUser
964964
verify(currentUserController, times(1)).setAsync(partialMockUser);
965965
}

0 commit comments

Comments
 (0)