From 4b376782076037415d1f6d8702369ecd290d3dd8 Mon Sep 17 00:00:00 2001 From: Toby Jaffey Date: Sat, 10 Dec 2022 13:15:29 +0000 Subject: [PATCH] Ensure that pd variable stays in scope while curl request runs Fix for #19 --- xs_curl.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xs_curl.h b/xs_curl.h index b769e2f..d024379 100644 --- a/xs_curl.h +++ b/xs_curl.h @@ -93,6 +93,7 @@ d_char *xs_http_request(char *method, char *url, d_char *headers, struct curl_slist *list = NULL; char *k, *v, *p; long lstatus; + struct _payload_data pd; response = xs_dict_new(); @@ -128,7 +129,9 @@ d_char *xs_http_request(char *method, char *url, d_char *headers, sprintf(tmp, "content-length: %d", b_size); list = curl_slist_append(list, tmp); - struct _payload_data pd = { body, b_size, 0 }; + pd.data = body; + pd.size = b_size; + pd.offset = 0; curl_easy_setopt(curl, CURLOPT_READDATA, &pd); curl_easy_setopt(curl, CURLOPT_READFUNCTION, _post_callback);