From d14dc95be3c8df026c2c16bfd6f55743a6dd377c Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Mon, 27 Feb 2023 09:14:10 +0100 Subject: [PATCH] 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. (cherry picked from commit 599fe234ea4864396eb70530513b2646aa97f576) (cherry picked from commit 3787eacac9c1fc9ff9b423f9d9cea9907e209ebb) (cherry picked from commit 89a6ce575d52bbaa1b928275c39517a071449da7) --- src/nm-cloud-setup/nm-http-client.c | 9 +++++++-- 1 file 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 9ad43476a5..e6cc20fa75 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);