Commit b15bbd4e3f382643491e60b4ec2ad6a1d54db4ad

Steven Noonan 2021-04-22T16:11:13

SDL_udev: check for NULL return value from udev_device_get_action Signed-off-by: Steven Noonan <steven@valvesoftware.com> Signed-off-by: Sam Lantinga <slouken@libsdl.org>

diff --git a/src/core/linux/SDL_udev.c b/src/core/linux/SDL_udev.c
index 08f4a4b..8eaf2f2 100644
--- a/src/core/linux/SDL_udev.c
+++ b/src/core/linux/SDL_udev.c
@@ -449,13 +449,15 @@ SDL_UDEV_Poll(void)
         }
         action = _this->syms.udev_device_get_action(dev);
 
-        if (SDL_strcmp(action, "add") == 0) {
-            /* Wait for the device to finish initialization */
-            SDL_Delay(100);
-
-            device_event(SDL_UDEV_DEVICEADDED, dev);
-        } else if (SDL_strcmp(action, "remove") == 0) {
-            device_event(SDL_UDEV_DEVICEREMOVED, dev);
+        if (action) {
+            if (SDL_strcmp(action, "add") == 0) {
+                /* Wait for the device to finish initialization */
+                SDL_Delay(100);
+
+                device_event(SDL_UDEV_DEVICEADDED, dev);
+            } else if (SDL_strcmp(action, "remove") == 0) {
+                device_event(SDL_UDEV_DEVICEREMOVED, dev);
+            }
         }
         
         _this->syms.udev_device_unref(dev);