compositor-drm: Fix invalid usage of udev ressources
authorBenjamin Franzke <benjaminfranzke@googlemail.com>
Fri, 7 Oct 2011 06:27:26 +0000 (08:27 +0200)
committerBenjamin Franzke <benjaminfranzke@googlemail.com>
Fri, 7 Oct 2011 08:00:11 +0000 (10:00 +0200)
The reference returned by udev_list_entry_get_name is
only valid until udev_enumerate_unref is called.
Call unref after the last usage of such.

compositor/compositor-drm.c

index f3d6126..0e45ff7 100644 (file)
@@ -826,8 +826,6 @@ drm_compositor_create(struct wl_display *display,
                udev_device_unref(device);
        }
 
-       udev_enumerate_unref(e);
-
        if (drm_device == NULL) {
                fprintf(stderr, "no drm device found\n");
                return NULL;
@@ -858,6 +856,9 @@ drm_compositor_create(struct wl_display *display,
                return NULL;
        }
 
+       udev_enumerate_unref(e);
+       path = NULL;
+
        evdev_input_add_devices(&ec->base, ec->udev, seat);
 
        loop = wl_display_get_event_loop(ec->base.wl_display);