summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2020-03-03 11:52:01 +0100
committerThomas Haller <thaller@redhat.com>2020-03-12 10:16:22 +0100
commit0586e9700d8cf47aff9a4a5148c431d2decce7c6 (patch)
tree2dfb205d366aa20a85ac685c4f5ff2fa949e5b3e
parente33b2008806992237eb5a660dc19cc034b6df8bf (diff)
downloadNetworkManager-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.c3
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);