|
@@ -0,0 +1,26 @@
|
|
|
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
|
+From: Matt Reynolds <[email protected]>
|
|
|
+Date: Wed, 19 Jan 2022 21:03:08 +0000
|
|
|
+Subject: gamepad: Return an invalid handle after ReportBadMessage
|
|
|
+
|
|
|
+Bug: 1285449
|
|
|
+Change-Id: I746c539577f7bdf69cbe4212ac380e0c92a5c771
|
|
|
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3373944
|
|
|
+Auto-Submit: Matt Reynolds <[email protected]>
|
|
|
+Reviewed-by: Reilly Grant <[email protected]>
|
|
|
+Commit-Queue: Reilly Grant <[email protected]>
|
|
|
+Cr-Commit-Position: refs/heads/main@{#961125}
|
|
|
+
|
|
|
+diff --git a/device/gamepad/gamepad_monitor.cc b/device/gamepad/gamepad_monitor.cc
|
|
|
+index ce8ba1ef7551e52f8ae4d9a112a08308ab2ce51c..28082924e632a895fc5bc4725bc6de3d6ca120ac 100644
|
|
|
+--- a/device/gamepad/gamepad_monitor.cc
|
|
|
++++ b/device/gamepad/gamepad_monitor.cc
|
|
|
+@@ -53,6 +53,8 @@ void GamepadMonitor::GamepadStartPolling(GamepadStartPollingCallback callback) {
|
|
|
+ GamepadService* service = GamepadService::GetInstance();
|
|
|
+ if (!service->ConsumerBecameActive(this)) {
|
|
|
+ mojo::ReportBadMessage("GamepadMonitor::GamepadStartPolling failed");
|
|
|
++ std::move(callback).Run(base::ReadOnlySharedMemoryRegion());
|
|
|
++ return;
|
|
|
+ }
|
|
|
+ std::move(callback).Run(service->DuplicateSharedMemoryRegion());
|
|
|
+ }
|