From 4704e1410037f47ced945d97014df7e6fffa500e 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. Conflicts: nm_strv_dup_packed is still called nm_utils_strv_dup_packed (cherry picked from commit 599fe234ea4864396eb70530513b2646aa97f576) (cherry picked from commit 3787eacac9c1fc9ff9b423f9d9cea9907e209ebb) (cherry picked from commit 89a6ce575d52bbaa1b928275c39517a071449da7) (cherry picked from commit d14dc95be3c8df026c2c16bfd6f55743a6dd377c) (cherry picked from commit 7e516418e02e346ae96283b57f124913b903d0ac) (cherry picked from commit becb47826a6be94cc4016dd980106516c6b67058) --- 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 d3aceb76d6..b7b36413e9 100644 --- a/src/nm-cloud-setup/nm-http-client.c +++ b/src/nm-cloud-setup/nm-http-client.c @@ -413,7 +413,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); } @@ -546,9 +546,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_utils_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);