diff options
| author | 2023-11-17 18:13:00 +0000 | |
|---|---|---|
| committer | 2023-11-17 18:13:00 +0000 | |
| commit | 43a117cbe0271996b08134b3796e7237c5eca8c3 (patch) | |
| tree | 045f73af6c981f35ce135a532f0f86afca2afa73 | |
| parent | fff1a90416497cb8a3cc5ab9e8bb956c71ae24f6 (diff) | |
| parent | e28db5f173d12eea51ee72242a656fb1b08aa285 (diff) | |
Merge "uinput: crash if device creation fails" into main
| -rw-r--r-- | cmds/uinput/src/com/android/commands/uinput/Device.java | 9 |
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) { |