From ea00f2b23dc9fade5fca41beb6ca277076ad817b Mon Sep 17 00:00:00 2001 From: Kevin Chyn Date: Thu, 28 Feb 2019 18:55:10 -0800 Subject: [PATCH] Check for NPE when sending enroll result It's possible for the client to crash and have the service continue to receive results for a short amount of time. Bug: 126212114 Test: system server doesn't die anymore Change-Id: I574b605eba50169a611cae8e95c46aa61defcb9c --- services/core/java/com/android/server/biometrics/EnrollClient.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/biometrics/EnrollClient.java b/services/core/java/com/android/server/biometrics/EnrollClient.java index 882a9297847a..d5e626a8b9fe 100644 --- a/services/core/java/com/android/server/biometrics/EnrollClient.java +++ b/services/core/java/com/android/server/biometrics/EnrollClient.java @@ -76,7 +76,10 @@ public abstract class EnrollClient extends ClientMonitor { } mMetricsLogger.action(mMetrics.actionBiometricEnroll()); try { - getListener().onEnrollResult(identifier, remaining); + final BiometricServiceBase.ServiceListener listener = getListener(); + if (listener != null) { + listener.onEnrollResult(identifier, remaining); + } return remaining == 0; } catch (RemoteException e) { Slog.w(getLogTag(), "Failed to notify EnrollResult:", e); -- 2.11.0