ecore_drm2: fix seat matching when checking for a device with a null seat
authorChris Michael <cp.michael@samsung.com>
Mon, 22 Jan 2018 16:26:13 +0000 (11:26 -0500)
committerWonki Kim <wonki_.kim@samsung.com>
Tue, 3 Apr 2018 07:12:47 +0000 (16:12 +0900)
Summary: Check to make sure that the seat from the matching device is still null.

Test Plan: Make sure that devices are not being rejected while on seat1. This depends on another patch

Reviewers: ManMower, devilhorns

Reviewed By: devilhorns

Subscribers: ManMower, devilhorns, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5711

src/lib/ecore_drm2/ecore_drm2_device.c

index e04f0d3..f5059f5 100644 (file)
@@ -100,6 +100,8 @@ _drm2_device_find(Elput_Manager *em, const char *seat)
    Eina_Bool modeset;
    int fd;
 
+   EINA_SAFETY_ON_NULL_RETURN_VAL(seat, NULL);
+
    devs = eeze_udev_find_by_subsystem_sysname("drm", "card[0-9]*");
    if (!devs) return NULL;
 
@@ -113,9 +115,7 @@ _drm2_device_find(Elput_Manager *em, const char *seat)
         dseat = eeze_udev_syspath_get_property(dev, "ID_SEAT");
         if (!dseat) dseat = eina_stringshare_add("seat0");
 
-        if ((seat) && (strcmp(seat, dseat)))
-          goto cont;
-        else if (strcmp(dseat, "seat0"))
+        if (strcmp(seat, dseat))
           goto cont;
 
         fd = elput_manager_open(em, dpath, -1);