From 1653b1dd69a3af0d8acc4121e5b8e743a2e491b7 Mon Sep 17 00:00:00 2001 From: Narayan Kamath Date: Wed, 17 Dec 2014 13:40:36 +0000 Subject: [PATCH] Throw IllegalArgumentException on invalid hex-strings. Beats returning null since there's let's chance it will be interpreted as the lack of a password. Change-Id: I4986a8e806d9066129f696ab9f2e80655424e723 --- .../core/java/com/android/server/MountService.java | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/services/core/java/com/android/server/MountService.java b/services/core/java/com/android/server/MountService.java index 743db1692c31e..59570bf7eadab 100644 --- a/services/core/java/com/android/server/MountService.java +++ b/services/core/java/com/android/server/MountService.java @@ -2155,7 +2155,7 @@ class MountService extends IMountService.Stub } } - private String toHex(String password) { + private static String toHex(String password) { if (password == null) { return ""; } @@ -2163,18 +2163,12 @@ class MountService extends IMountService.Stub return new String(HexEncoding.encode(bytes)); } - private String fromHex(String hexPassword) { + private static String fromHex(String hexPassword) throws IllegalArgumentException { if (hexPassword == null) { return null; } - final byte[] bytes; - try { - bytes = HexEncoding.decode(hexPassword.toCharArray(), false); - } catch (IllegalArgumentException e) { - return null; - } - + final byte[] bytes = HexEncoding.decode(hexPassword.toCharArray(), false); return new String(bytes, StandardCharsets.UTF_8); }