summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Harry Cutts <hcutts@google.com> 2023-11-17 18:13:00 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2023-11-17 18:13:00 +0000
commit43a117cbe0271996b08134b3796e7237c5eca8c3 (patch)
tree045f73af6c981f35ce135a532f0f86afca2afa73
parentfff1a90416497cb8a3cc5ab9e8bb956c71ae24f6 (diff)
parente28db5f173d12eea51ee72242a656fb1b08aa285 (diff)
Merge "uinput: crash if device creation fails" into main
-rw-r--r--cmds/uinput/src/com/android/commands/uinput/Device.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/cmds/uinput/src/com/android/commands/uinput/Device.java b/cmds/uinput/src/com/android/commands/uinput/Device.java
index ad5e70f4ff0c..b0fa34c68092 100644
--- a/cmds/uinput/src/com/android/commands/uinput/Device.java
+++ b/cmds/uinput/src/com/android/commands/uinput/Device.java
@@ -160,9 +160,16 @@ public class Device {
switch (msg.what) {
case MSG_OPEN_UINPUT_DEVICE:
SomeArgs args = (SomeArgs) msg.obj;
- mPtr = nativeOpenUinputDevice((String) args.arg1, args.argi1, args.argi2,
+ String name = (String) args.arg1;
+ mPtr = nativeOpenUinputDevice(name, args.argi1, args.argi2,
args.argi3, args.argi4, args.argi5, (String) args.arg2,
new DeviceCallback());
+ if (mPtr == 0) {
+ RuntimeException ex = new RuntimeException(
+ "Could not create uinput device \"" + name + "\"");
+ Log.e(TAG, "Couldn't create uinput device, exiting.", ex);
+ throw ex;
+ }
break;
case MSG_INJECT_EVENT:
if (mPtr != 0) {