[gvfs/gnome-3-28] metadata: Prevent usage of NULL if GUdevDevice is not found
- From: Ondrej Holy <oholy src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gvfs/gnome-3-28] metadata: Prevent usage of NULL if GUdevDevice is not found
- Date: Fri, 13 Apr 2018 08:16:41 +0000 (UTC)
commit e4933073dd30e94a00cdd02f77f05238c279fa04
Author: Ondrej Holy <oholy redhat com>
Date: Thu Apr 12 13:12:37 2018 +0200
metadata: Prevent usage of NULL if GUdevDevice is not found
Code to determine tree name from device has been recently ported from
udev to gudev by commit c2d8564. Unfortunately, the gudev code floods
logs by the following messages if device is not found (it can happen
e.g. for tmpfs):
g_udev_device_has_property: assertion 'G_UDEV_IS_DEVICE (device)' failed
Udev code silently returned if NULL device was used, however, corresponding
gudev code prints the mentioned messages. Let's prevent usage of NULL
device in order to prevent those messages.
https://bugzilla.gnome.org/show_bug.cgi?id=795191
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 444a439..26edfcb 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 : "");
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]