Commit d4910631 authored by Ray Strode's avatar Ray Strode
Browse files

native: don't call steal_pointer prematurely

commit e2bfaf07 does this:

g_hash_table_insert (cards,
                     g_udev_device_get_name (parent_device),
                     g_steal_pointer (&parent_device));

The problem is the g_steal_pointer call may happen before the
g_udev_device_get_name call leading to a crash.

This commit does the get_name call on an earlier line

https://bugzilla.gnome.org/show_bug.cgi?id=771442
parent e2bfaf07
......@@ -297,6 +297,7 @@ count_devices_with_connectors (const gchar *seat_name,
GUdevDevice *device = tmp->data;
g_autoptr (GUdevDevice) parent_device = NULL;
const gchar *parent_device_type = NULL;
const gchar *parent_device_name = NULL;
const gchar *card_seat;
/* filter out the real card devices, we only care about the connectors */
......@@ -323,8 +324,9 @@ count_devices_with_connectors (const gchar *seat_name,
if (g_strcmp0 (seat_name, card_seat) != 0)
continue;
parent_device_name = g_udev_device_get_name (parent_device);
g_hash_table_insert (cards,
(gpointer) g_udev_device_get_name (parent_device),
(gpointer) parent_device_name ,
g_steal_pointer (&parent_device));
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment