From: Bastian Dehn Date: Sun, 5 Jan 2025 11:18:03 +0000 (+0100) Subject: change corret mem pointer for open stream X-Git-Tag: v1.0.24^2~9 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=98faa1899f03d8b1106cd44fe3339a0d4c59bb62;p=sane-kds-s2000w-net.git change corret mem pointer for open stream --- diff --git a/src/kds_s2000w_client.c b/src/kds_s2000w_client.c index cfd167e..5bce98a 100644 --- a/src/kds_s2000w_client.c +++ b/src/kds_s2000w_client.c @@ -127,9 +127,9 @@ int kds_s2000w_client_open_session(response* resp) headers = curl_slist_append(headers, ACCEPT_JSON_HEADER); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); - char* mem = malloc(sizeof(char)); + char** mem = malloc(sizeof(char*)); size_t* sizeloc = malloc(sizeof(size_t)); - FILE* stream = open_memstream(&mem, sizeloc); + FILE* stream = open_memstream(mem, sizeloc); curl_easy_setopt(curl, CURLOPT_WRITEDATA, stream); char* body = malloc(sizeof(char) * MAX_STR_BUFFER_LENGTH); @@ -146,7 +146,7 @@ int kds_s2000w_client_open_session(response* resp) _kds_s2000w_client_print_error_result(result); fclose(stream); - _kds_s2000w_client_stream_to_response(mem, resp, sizeloc); + _kds_s2000w_client_stream_to_response(*mem, resp, sizeloc); curl_url_cleanup(url_handler); url_handler = NULL; @@ -156,6 +156,8 @@ int kds_s2000w_client_open_session(response* resp) body = NULL; curl_free(url); url = NULL; + free(*mem); + *mem = NULL; free(mem); mem = NULL; free(sizeloc); @@ -228,9 +230,9 @@ int kds_s2000w_client_status_session(int64_t sessionid, response* resp) headers = curl_slist_append(headers, ACCEPT_JSON_HEADER); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); - char* mem = malloc(sizeof(char)); + char** mem = malloc(sizeof(char*)); size_t* sizeloc = malloc(sizeof(size_t)); - FILE* stream = open_memstream(&mem, sizeloc); + FILE* stream = open_memstream(mem, sizeloc); curl_easy_setopt(curl, CURLOPT_WRITEDATA, stream); curl_easy_setopt(curl, CURLOPT_HTTPGET, 1L); @@ -243,7 +245,7 @@ int kds_s2000w_client_status_session(int64_t sessionid, response* resp) _kds_s2000w_client_print_error_result(result); fclose(stream); - _kds_s2000w_client_stream_to_response(mem, resp, sizeloc); + _kds_s2000w_client_stream_to_response(*mem, resp, sizeloc); curl_url_cleanup(url_handler); url_handler = NULL; @@ -251,6 +253,8 @@ int kds_s2000w_client_status_session(int64_t sessionid, response* resp) headers = NULL; curl_free(url); url = NULL; + free(*mem); + *mem = NULL; free(mem); mem = NULL; free(sizeloc); @@ -283,9 +287,9 @@ int kds_s2000w_client_start_scan(int64_t sessionid, response* resp) headers = curl_slist_append(headers, ACCEPT_JSON_HEADER); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); - char* mem = malloc(sizeof(char)); + char** mem = malloc(sizeof(char*)); size_t* sizeloc = malloc(sizeof(size_t)); - FILE* stream = open_memstream(&mem, sizeloc); + FILE* stream = open_memstream(mem, sizeloc); curl_easy_setopt(curl, CURLOPT_WRITEDATA, stream); curl_easy_setopt(curl, CURLOPT_POST, 1L); @@ -299,7 +303,7 @@ int kds_s2000w_client_start_scan(int64_t sessionid, response* resp) _kds_s2000w_client_print_error_result(result); fclose(stream); - _kds_s2000w_client_stream_to_response(mem, resp, sizeloc); + _kds_s2000w_client_stream_to_response(*mem, resp, sizeloc); curl_url_cleanup(url_handler); url_handler = NULL; @@ -307,6 +311,8 @@ int kds_s2000w_client_start_scan(int64_t sessionid, response* resp) headers = NULL; curl_free(url); url = NULL; + free(*mem); + *mem = NULL; free(mem); mem = NULL; free(sizeloc); @@ -339,9 +345,9 @@ int kds_s2000w_client_stop_scan(int64_t sessionid, response* resp) headers = curl_slist_append(headers, ACCEPT_JSON_HEADER); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); - char* mem = malloc(sizeof(char)); + char** mem = malloc(sizeof(char*)); size_t* sizeloc = malloc(sizeof(size_t)); - FILE* stream = open_memstream(&mem, sizeloc); + FILE* stream = open_memstream(mem, sizeloc); curl_easy_setopt(curl, CURLOPT_WRITEDATA, stream); curl_easy_setopt(curl, CURLOPT_POST, 1L); @@ -355,7 +361,7 @@ int kds_s2000w_client_stop_scan(int64_t sessionid, response* resp) _kds_s2000w_client_print_error_result(result); fclose(stream); - _kds_s2000w_client_stream_to_response(mem, resp, sizeloc); + _kds_s2000w_client_stream_to_response(*mem, resp, sizeloc); curl_url_cleanup(url_handler); url_handler = NULL; @@ -363,6 +369,8 @@ int kds_s2000w_client_stop_scan(int64_t sessionid, response* resp) headers = NULL; curl_free(url); url = NULL; + free(*mem); + *mem = NULL; free(mem); mem = NULL; free(sizeloc); @@ -398,9 +406,9 @@ int kds_s2000w_client_get_image(int64_t sessionid, int img_number, response* res headers = curl_slist_append(headers, ACCEPT_IMAGE_HEADER); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); - char* mem = malloc(sizeof(char)); + char** mem = malloc(sizeof(char*)); size_t* sizeloc = malloc(sizeof(size_t)); - FILE* stream = open_memstream(&mem, sizeloc); + FILE* stream = open_memstream(mem, sizeloc); curl_easy_setopt(curl, CURLOPT_WRITEDATA, stream); curl_easy_setopt(curl, CURLOPT_HTTPGET, 1L); @@ -413,7 +421,7 @@ int kds_s2000w_client_get_image(int64_t sessionid, int img_number, response* res _kds_s2000w_client_print_error_result(result); fclose(stream); - _kds_s2000w_client_stream_to_response(mem, resp, sizeloc); + _kds_s2000w_client_stream_to_response(*mem, resp, sizeloc); curl_url_cleanup(url_handler); url_handler = NULL; @@ -421,6 +429,8 @@ int kds_s2000w_client_get_image(int64_t sessionid, int img_number, response* res headers = NULL; curl_free(url); url = NULL; + free(*mem); + *mem = NULL; free(mem); mem = NULL; free(sizeloc); @@ -458,9 +468,9 @@ int kds_s2000w_client_delete_image(int64_t sessionid, int img_number, response* headers = curl_slist_append(headers, ACCEPT_JSON_HEADER); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); - char* mem = malloc(sizeof(char)); + char** mem = malloc(sizeof(char*)); size_t* sizeloc = malloc(sizeof(size_t)); - FILE* stream = open_memstream(&mem, sizeloc); + FILE* stream = open_memstream(mem, sizeloc); curl_easy_setopt(curl, CURLOPT_WRITEDATA, stream); curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "DELETE"); @@ -473,7 +483,7 @@ int kds_s2000w_client_delete_image(int64_t sessionid, int img_number, response* _kds_s2000w_client_print_error_result(result); fclose(stream); - _kds_s2000w_client_stream_to_response(mem, resp, sizeloc); + _kds_s2000w_client_stream_to_response(*mem, resp, sizeloc); curl_url_cleanup(url_handler); url_handler = NULL; @@ -481,6 +491,8 @@ int kds_s2000w_client_delete_image(int64_t sessionid, int img_number, response* headers = NULL; curl_free(url); url = NULL; + free(*mem); + *mem = NULL; free(mem); mem = NULL; free(sizeloc); @@ -509,9 +521,9 @@ int kds_s2000w_client_get_capabilities(response* resp) headers = curl_slist_append(headers, ACCEPT_JSON_HEADER); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); - char* mem = malloc(sizeof(char)); + char** mem = malloc(sizeof(char*)); size_t* sizeloc = malloc(sizeof(size_t)); - FILE* stream = open_memstream(&mem, sizeloc); + FILE* stream = open_memstream(mem, sizeloc); curl_easy_setopt(curl, CURLOPT_WRITEDATA, stream); curl_easy_setopt(curl, CURLOPT_HTTPGET, 1L); @@ -524,7 +536,7 @@ int kds_s2000w_client_get_capabilities(response* resp) _kds_s2000w_client_print_error_result(result); fclose(stream); - _kds_s2000w_client_stream_to_response(mem, resp, sizeloc); + _kds_s2000w_client_stream_to_response(*mem, resp, sizeloc); curl_url_cleanup(url_handler); url_handler = NULL; @@ -532,6 +544,8 @@ int kds_s2000w_client_get_capabilities(response* resp) headers = NULL; curl_free(url); url = NULL; + free(*mem); + *mem = NULL; free(mem); mem = NULL; free(sizeloc); @@ -562,9 +576,9 @@ int kds_s2000w_client_get_option(int64_t sessionid, response* resp) headers = curl_slist_append(headers, ACCEPT_JSON_HEADER); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); - char* mem = malloc(sizeof(char)); + char** mem = malloc(sizeof(char*)); size_t* sizeloc = malloc(sizeof(size_t)); - FILE* stream = open_memstream(&mem, sizeloc); + FILE* stream = open_memstream(mem, sizeloc); curl_easy_setopt(curl, CURLOPT_WRITEDATA, stream); curl_easy_setopt(curl, CURLOPT_HTTPGET, 1L); @@ -577,7 +591,7 @@ int kds_s2000w_client_get_option(int64_t sessionid, response* resp) _kds_s2000w_client_print_error_result(result); fclose(stream); - _kds_s2000w_client_stream_to_response(mem, resp, sizeloc); + _kds_s2000w_client_stream_to_response(*mem, resp, sizeloc); curl_url_cleanup(url_handler); url_handler = NULL; @@ -585,6 +599,8 @@ int kds_s2000w_client_get_option(int64_t sessionid, response* resp) headers = NULL; curl_free(url); url = NULL; + free(*mem); + *mem = NULL; free(mem); mem = NULL; free(sizeloc);