ecore_drm: close fd if flag set fails
authorDerek Foreman <derekf@osg.samsung.com>
Thu, 30 Apr 2015 18:27:04 +0000 (14:27 -0400)
committerChris Michael <cp.michael@samsung.com>
Thu, 30 Apr 2015 18:27:48 +0000 (14:27 -0400)
@fix

Subscribers: cedric

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

src/lib/ecore_drm/ecore_drm_launcher.c

index e66918a..ae28be0 100644 (file)
@@ -140,8 +140,10 @@ _ecore_drm_launcher_device_open_no_pending(const char *device, int flags)
    if (logind)
      {
         fd = _ecore_drm_logind_device_open_no_pending(device);
-        if ((fd = _ecore_drm_launcher_device_flags_set(fd, flags)) < 0)
+        if (fd < 0) return -1;
+        if (_ecore_drm_launcher_device_flags_set(fd, flags) < 0)
           {
+             close(fd);
              _ecore_drm_logind_device_close(device);
              return -1;
           }