From 0586e9700d8cf47aff9a4a5148c431d2decce7c6 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 3 Mar 2020 11:52:01 +0100 Subject: [PATCH] wifi: delay release of old wfd_ies array in nm_wifi_p2p_peer_set_wfd_ies() We should first ref the new instance and emit the notify signal, before unref the old value. It feels better in this order. --- src/devices/wifi/nm-wifi-p2p-peer.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/devices/wifi/nm-wifi-p2p-peer.c b/src/devices/wifi/nm-wifi-p2p-peer.c index 053fe3f3dd..51f5a505ae 100644 --- a/src/devices/wifi/nm-wifi-p2p-peer.c +++ b/src/devices/wifi/nm-wifi-p2p-peer.c @@ -260,6 +260,7 @@ gboolean nm_wifi_p2p_peer_set_wfd_ies (NMWifiP2PPeer *peer, GBytes *wfd_ies) { NMWifiP2PPeerPrivate *priv; + gs_unref_bytes GBytes *wfd_ies_old = NULL; g_return_val_if_fail (NM_IS_WIFI_P2P_PEER (peer), FALSE); @@ -268,7 +269,7 @@ nm_wifi_p2p_peer_set_wfd_ies (NMWifiP2PPeer *peer, GBytes *wfd_ies) if (nm_gbytes_equal0 (priv->wfd_ies, wfd_ies)) return FALSE; - g_bytes_unref (priv->wfd_ies); + wfd_ies_old = g_steal_pointer (&priv->wfd_ies); priv->wfd_ies = wfd_ies ? g_bytes_ref (wfd_ies) : NULL; _notify (peer, PROP_WFD_IES);