diff options
author | Thomas Haller <thaller@redhat.com> | 2020-03-03 11:52:01 +0100 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2020-03-12 10:16:22 +0100 |
commit | 0586e9700d8cf47aff9a4a5148c431d2decce7c6 (patch) | |
tree | 2dfb205d366aa20a85ac685c4f5ff2fa949e5b3e | |
parent | e33b2008806992237eb5a660dc19cc034b6df8bf (diff) | |
download | NetworkManager-0586e9700d8cf47aff9a4a5148c431d2decce7c6.tar.gz |
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.
-rw-r--r-- | src/devices/wifi/nm-wifi-p2p-peer.c | 3 |
1 files changed, 2 insertions, 1 deletions
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); |