From 1e7ec603bca368c2dd37c2e72704b5743f088129 Mon Sep 17 00:00:00 2001 From: illiliti Date: Tue, 28 Jul 2020 20:51:01 +0300 Subject: [PATCH] do udev_device_unref before lock --- udev_enumerate.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/udev_enumerate.c b/udev_enumerate.c index da3c51e..ab03487 100644 --- a/udev_enumerate.c +++ b/udev_enumerate.c @@ -269,11 +269,13 @@ static void *udev_enumerate_add_device(void *ptr) return NULL; } + snprintf(path, sizeof(path), "%s", udev_device_get_syspath(udev_device)); + udev_device_unref(udev_device); + pthread_mutex_lock(data->mutex); - udev_list_entry_add(&data->udev_enumerate->devices, udev_device_get_syspath(udev_device), NULL); + udev_list_entry_add(&data->udev_enumerate->devices, path, NULL); pthread_mutex_unlock(data->mutex); - udev_device_unref(udev_device); return NULL; }