diff options
Diffstat (limited to 'metadata')
-rw-r--r-- | metadata/meta-daemon.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/metadata/meta-daemon.c b/metadata/meta-daemon.c index 444a4394..26edfcb3 100644 --- a/metadata/meta-daemon.c +++ b/metadata/meta-daemon.c @@ -319,13 +319,15 @@ handle_get_tree_from_device (GVfsMetadata *object, g_once_init_leave (&gudev_client, g_udev_client_new (NULL)); device = g_udev_client_query_by_device_number (gudev_client, G_UDEV_DEVICE_TYPE_BLOCK, devnum); + if (device != NULL) + { + if (g_udev_device_has_property (device, "ID_FS_UUID_ENC")) + res = g_strconcat ("uuid-", g_udev_device_get_property (device, "ID_FS_UUID_ENC"), NULL); + else if (g_udev_device_has_property (device, "ID_FS_LABEL_ENC")) + res = g_strconcat ("label-", g_udev_device_get_property (device, "ID_FS_LABEL_ENC"), NULL); - if (g_udev_device_has_property (device, "ID_FS_UUID_ENC")) - res = g_strconcat ("uuid-", g_udev_device_get_property (device, "ID_FS_UUID_ENC"), NULL); - else if (g_udev_device_has_property (device, "ID_FS_LABEL_ENC")) - res = g_strconcat ("label-", g_udev_device_get_property (device, "ID_FS_LABEL_ENC"), NULL); - - g_clear_object (&device); + g_clear_object (&device); + } #endif gvfs_metadata_complete_get_tree_from_device (object, invocation, res ? res : ""); |