summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2019-10-04 10:51:46 +0200
committerThomas Haller <thaller@redhat.com>2019-10-15 20:33:23 +0200
commit6333c294a2d3c766f469a0786a4e2617b9add14a (patch)
treea52bb23127664f7a0b7a3157cd654726218b484b
parent0434d0fd3087c9792974c319985cc19d2ab709e6 (diff)
downloadNetworkManager-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.c3
-rw-r--r--libnm/nm-device-wifi-p2p.c10
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);
}