diff options
| author | 2023-04-04 00:40:31 +0000 | |
|---|---|---|
| committer | 2023-04-04 00:40:31 +0000 | |
| commit | 6205b89f6870718d34f574abf45147aeac72cccc (patch) | |
| tree | e30e2e96580893632350843559e96a5842658239 | |
| parent | 4612c82986dfb601958f13b9b63c5d266c808ff9 (diff) | |
| parent | 3e2b0a151db3e87c428d7df69c47098ba3d0102d (diff) | |
RESTRICT AUTOMERGE: Fix HMAC Compare time attack am: ca8d670c16 am: bc9a36a8be am: 3e2b0a151d
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/21804206
Change-Id: I393694db17a8885b98d2d1f52ebf87c05b597051
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | services/inputflinger/dispatcher/InputDispatcher.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/services/inputflinger/dispatcher/InputDispatcher.cpp b/services/inputflinger/dispatcher/InputDispatcher.cpp index b9cb4ad8a9..0f18830ccc 100644 --- a/services/inputflinger/dispatcher/InputDispatcher.cpp +++ b/services/inputflinger/dispatcher/InputDispatcher.cpp @@ -27,6 +27,7 @@ #include <ftl/enum.h> #include <gui/SurfaceComposerClient.h> #include <input/InputDevice.h> +#include <openssl/mem.h> #include <powermanager/PowerManager.h> #include <unistd.h> #include <utils/Trace.h> @@ -4454,7 +4455,7 @@ std::unique_ptr<VerifiedInputEvent> InputDispatcher::verifyInputEvent(const Inpu if (calculatedHmac == INVALID_HMAC) { return nullptr; } - if (calculatedHmac != event.getHmac()) { + if (0 != CRYPTO_memcmp(calculatedHmac.data(), event.getHmac().data(), calculatedHmac.size())) { return nullptr; } return result; |