native: don't call steal_pointer prematurely
commit e2bfaf0751
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
This commit is contained in:
parent
e2bfaf0751
commit
d491063110
@ -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));
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user