SDL: SDL_udev: check for NULL return value from udev_device_get_action

From b15bbd4e3f382643491e60b4ec2ad6a1d54db4ad Mon Sep 17 00:00:00 2001
From: Steven Noonan <[EMAIL REDACTED]>
Date: Thu, 22 Apr 2021 16:11:13 -0700
Subject: [PATCH] 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>
---
 src/core/linux/SDL_udev.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/src/core/linux/SDL_udev.c b/src/core/linux/SDL_udev.c
index 08f4a4b2c..8eaf2f204 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);