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 599fe234ea)
(cherry picked from commit 3787eacac9)
(cherry picked from commit 89a6ce575d)
This commit is contained in:
Thomas Haller 2023-02-27 09:14:10 +01:00 committed by Íñigo Huguet
parent d83537bff5
commit d14dc95be3

View file

@ -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);