OSDN Git Service

Fix crash caused by toHex returning exception
authorPaul Lawrence <paullawrence@google.com>
Tue, 6 Jan 2015 21:11:23 +0000 (13:11 -0800)
committerPaul Lawrence <paullawrence@google.com>
Tue, 6 Jan 2015 21:11:23 +0000 (13:11 -0800)
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

index 7d6ebaf..9eb70d8 100644 (file)
@@ -2419,9 +2419,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;
         }
     }