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.
This commit is contained in:
Thomas Haller 2023-02-27 09:14:10 +01:00
parent 933e8ea11c
commit 599fe234ea
No known key found for this signature in database
GPG key ID: 29C2366E4DFC5728

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