diff options
author | Thomas Haller <thaller@redhat.com> | 2019-10-04 10:51:46 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2019-10-15 20:33:23 +0200 |
commit | 6333c294a2d3c766f469a0786a4e2617b9add14a (patch) | |
tree | a52bb23127664f7a0b7a3157cd654726218b484b | |
parent | 0434d0fd3087c9792974c319985cc19d2ab709e6 (diff) | |
download | NetworkManager-6333c294a2d3c766f469a0786a4e2617b9add14a.tar.gz |
libnm,client: use nm_g_task_new() to set source-tag and check it
Public API should validate input arguments with g_return_*().
Tag the task with the source function (using nm_g_task_new())
and check it in the corresponding _finish() function.
-rw-r--r-- | clients/cli/common.c | 3 | ||||
-rw-r--r-- | libnm/nm-device-wifi-p2p.c | 10 |
2 files changed, 9 insertions, 4 deletions
diff --git a/clients/cli/common.c b/clients/cli/common.c index 1020201731..04ccf8dc1f 100644 --- a/clients/cli/common.c +++ b/clients/cli/common.c @@ -1296,8 +1296,7 @@ nmc_do_cmd (NmCli *nmc, const NMCCommand cmds[], const char *cmd, int argc, char const NMCCommand *c; gs_unref_object GTask *task = NULL; - task = g_task_new (NULL, NULL, command_done, nmc); - g_task_set_source_tag (task, nmc_do_cmd); + task = nm_g_task_new (NULL, NULL, nmc_do_cmd, command_done, nmc); g_task_set_task_data (task, nmc, NULL); if (argc == 0 && nmc->complete) { diff --git a/libnm/nm-device-wifi-p2p.c b/libnm/nm-device-wifi-p2p.c index bbb2211824..7facf74c64 100644 --- a/libnm/nm-device-wifi-p2p.c +++ b/libnm/nm-device-wifi-p2p.c @@ -183,7 +183,7 @@ nm_device_wifi_p2p_start_find (NMDeviceWifiP2P *device, g_return_if_fail (NM_IS_DEVICE_WIFI_P2P (device)); - task = g_task_new (device, cancellable, callback, user_data); + task = nm_g_task_new (device, cancellable, nm_device_wifi_p2p_start_find, callback, user_data); if (!options) options = g_variant_new_array (G_VARIANT_TYPE ("{sv}"), NULL, 0); @@ -211,6 +211,9 @@ nm_device_wifi_p2p_start_find_finish (NMDeviceWifiP2P *device, GAsyncResult *result, GError **error) { + g_return_val_if_fail (NM_IS_DEVICE_WIFI_P2P (device), FALSE); + g_return_val_if_fail (nm_g_task_is_valid (result, device, nm_device_wifi_p2p_start_find), FALSE); + return g_task_propagate_boolean (G_TASK (result), error); } @@ -253,7 +256,7 @@ nm_device_wifi_p2p_stop_find (NMDeviceWifiP2P *device, g_return_if_fail (NM_IS_DEVICE_WIFI_P2P (device)); - task = g_task_new (device, cancellable, callback, user_data); + task = nm_g_task_new (device, cancellable, nm_device_wifi_p2p_stop_find, callback, user_data); nmdbus_device_wifi_p2p_call_stop_find (priv->proxy, cancellable, @@ -278,6 +281,9 @@ nm_device_wifi_p2p_stop_find_finish (NMDeviceWifiP2P *device, GAsyncResult *result, GError **error) { + g_return_val_if_fail (NM_IS_DEVICE_WIFI_P2P (device), FALSE); + g_return_val_if_fail (nm_g_task_is_valid (result, device, nm_device_wifi_p2p_stop_find), FALSE); + return g_task_propagate_boolean (G_TASK (result), error); } |