From b16c7e3d8eaab507bce0739d4d7b63e15415f5e8 Mon Sep 17 00:00:00 2001 From: joshmccloskey Date: Mon, 10 Feb 2020 14:31:50 -0800 Subject: [PATCH] Ensure negative latencies are not being reported Ensure that BiometricsService will not report negative latencies. Test: Manual Bug: 148408637 Change-Id: Ie6a22ebeff4711b5f51c787392e00cc8daf9129c --- .../android/server/biometrics/LoggableMonitor.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/biometrics/LoggableMonitor.java b/services/core/java/com/android/server/biometrics/LoggableMonitor.java index c03c77f41f574..c73b26e8b9da0 100644 --- a/services/core/java/com/android/server/biometrics/LoggableMonitor.java +++ b/services/core/java/com/android/server/biometrics/LoggableMonitor.java @@ -124,7 +124,7 @@ public abstract class LoggableMonitor { error, vendorCode, Utils.isDebugEnabled(context, targetUserId), - latency); + sanitizeLatency(latency)); } protected final void logOnAuthenticated(Context context, boolean authenticated, @@ -165,7 +165,7 @@ public abstract class LoggableMonitor { statsClient(), requireConfirmation, authState, - latency, + sanitizeLatency(latency), Utils.isDebugEnabled(context, targetUserId)); } @@ -183,8 +183,16 @@ public abstract class LoggableMonitor { FrameworkStatsLog.write(FrameworkStatsLog.BIOMETRIC_ENROLLED, statsModality(), targetUserId, - latency, + sanitizeLatency(latency), enrollSuccessful); } + private long sanitizeLatency(long latency) { + if (latency < 0) { + Slog.w(TAG, "found a negative latency : " + latency); + return -1; + } + return latency; + } + }