diff options
author | Thomas Haller <thaller@redhat.com> | 2023-02-27 09:14:10 +0100 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2023-02-27 14:01:04 +0100 |
commit | 599fe234ea4864396eb70530513b2646aa97f576 (patch) | |
tree | d920de64e7cc7c360193344b97ea779a7a33aca8 | |
parent | 933e8ea11c8a23d478c20b0a940d8911e35a7368 (diff) | |
download | NetworkManager-599fe234ea4864396eb70530513b2646aa97f576.tar.gz |
cloud-setup: use nm_strv_dup_packed() in nm_http_client_poll_get()
No need to do a deep clone. The strv array is not ever modified and we
pack it together in one memory allocation.
-rw-r--r-- | src/nm-cloud-setup/nm-http-client.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/nm-cloud-setup/nm-http-client.c b/src/nm-cloud-setup/nm-http-client.c index a0964e2165..98ede1e403 100644 --- a/src/nm-cloud-setup/nm-http-client.c +++ b/src/nm-cloud-setup/nm-http-client.c @@ -419,7 +419,7 @@ _poll_get_data_free(gpointer data) g_free(poll_get_data->uri); nm_clear_pointer(&poll_get_data->response_data, g_bytes_unref); - g_strfreev((char **) poll_get_data->http_headers); + g_free((gpointer) poll_get_data->http_headers); nm_g_slice_free(poll_get_data); } @@ -552,9 +552,14 @@ nm_http_client_poll_get(NMHttpClient *self, .check_fcn = check_fcn, .check_user_data = check_user_data, .response_code = -1, - .http_headers = NM_CAST_STRV_CC(g_strdupv((char **) http_headers)), + .http_headers = NULL, }; + if (http_headers) { + poll_get_data->http_headers = + nm_strv_dup_packed(http_headers, -1) ?: g_new(const char *, 1); + } + nmcs_wait_for_objects_register(poll_get_data->task); g_task_set_task_data(poll_get_data->task, poll_get_data, _poll_get_data_free); |