[gvfs] 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] metadata: Prevent usage of NULL if GUdevDevice is not found
- Date: Fri, 13 Apr 2018 08:14:47 +0000 (UTC)
commit d7e1397854f32e793b4f65d894908d67072dcb3f
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]