diff options
| author | 2023-04-03 23:42:09 +0000 | |
|---|---|---|
| committer | 2023-04-03 23:42:09 +0000 | |
| commit | bc9a36a8bede9dbe2d3c3d3cc9eb33fa8c35149f (patch) | |
| tree | 7e12b4fc0736cc707bcbc9419df05952e8d82433 | |
| parent | 34dd2703756cb36c3e63cec88bbc76572c5e6833 (diff) | |
| parent | ca8d670c1656a6a47ef0f31fdfe1744d75fe5543 (diff) | |
RESTRICT AUTOMERGE: Fix HMAC Compare time attack am: ca8d670c16
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/21804206
Change-Id: I6a80c742f1a940746047835fd6e429ab20e65aa3
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 5e9427ad87..da461285f5 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> @@ -4422,7 +4423,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;  |