From 24063b5ebd9124e27ea1dbd06ba6a3dd31944643 Mon Sep 17 00:00:00 2001 From: Paul Lawrence Date: Tue, 6 Jan 2015 13:11:23 -0800 Subject: [PATCH] Fix crash caused by toHex returning exception toHex was changed to throw an exception in I4986a8e806d9066129f696ab9f2e80655424e723, but its caller was not adjusted accordingly, causing a crash whenever an unencrypted device was booted. Bug: 18886749 Change-Id: If0505f617001cf5e0d99cf14c8b09e6a6a377167 --- services/core/java/com/android/server/MountService.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/services/core/java/com/android/server/MountService.java b/services/core/java/com/android/server/MountService.java index 59570bf7eadab..79cd867416ff0 100644 --- a/services/core/java/com/android/server/MountService.java +++ b/services/core/java/com/android/server/MountService.java @@ -2371,9 +2371,16 @@ class MountService extends IMountService.Stub final NativeDaemonEvent event; try { event = mConnector.execute("cryptfs", "getpw"); + if ("-1".equals(event.getMessage())) { + // -1 equals no password + return null; + } return fromHex(event.getMessage()); } catch (NativeDaemonConnectorException e) { throw e.rethrowAsParcelableException(); + } catch (IllegalArgumentException e) { + Slog.e(TAG, "Invalid response to getPassword"); + return null; } }