Sebastian Stenzel 5 gadi atpakaļ
vecāks
revīzija
46a4060814

+ 9 - 5
main/ui/src/main/java/org/cryptomator/ui/unlock/UnlockController.java

@@ -140,7 +140,7 @@ public class UnlockController implements FxController {
 
 
 	private void loadStoredPassword() {
 	private void loadStoredPassword() {
 		assert keychainAccess.isPresent();
 		assert keychainAccess.isPresent();
-		char[] storedPw = new char[0];
+		char[] storedPw = null;
 		try {
 		try {
 			storedPw = keychainAccess.get().loadPassphrase(vault.getId());
 			storedPw = keychainAccess.get().loadPassphrase(vault.getId());
 			if (storedPw != null) {
 			if (storedPw != null) {
@@ -151,19 +151,23 @@ public class UnlockController implements FxController {
 		} catch (KeychainAccessException e) {
 		} catch (KeychainAccessException e) {
 			LOG.error("Failed to load entry from system keychain.", e);
 			LOG.error("Failed to load entry from system keychain.", e);
 		} finally {
 		} finally {
-			Arrays.fill(storedPw, ' ');
+			if (storedPw != null) {
+				Arrays.fill(storedPw, ' ');
+			}
 		}
 		}
 	}
 	}
 
 
 	private boolean hasStoredPassword() {
 	private boolean hasStoredPassword() {
-		char[] storedPw = new char[0];
+		char[] storedPw = null;
 		try {
 		try {
 			storedPw = keychainAccess.get().loadPassphrase(vault.getId());
 			storedPw = keychainAccess.get().loadPassphrase(vault.getId());
-			return storedPw.length != 0;
+			return storedPw != null;
 		} catch (KeychainAccessException e) {
 		} catch (KeychainAccessException e) {
 			return false;
 			return false;
 		} finally {
 		} finally {
-			Arrays.fill(storedPw, ' ');
+			if (storedPw != null) {
+				Arrays.fill(storedPw, ' ');
+			}
 		}
 		}
 	}
 	}