diff --git a/SOURCES/0074-curl-7.29.0-http-setup_connection.patch b/SOURCES/0074-curl-7.29.0-http-setup_connection.patch new file mode 100644 index 0000000..a0617d6 --- /dev/null +++ b/SOURCES/0074-curl-7.29.0-http-setup_connection.patch @@ -0,0 +1,48 @@ +From affcd7c5dfde7af4558601518c033725b83068bc Mon Sep 17 00:00:00 2001 +From: Kamil Dudka +Date: Fri, 22 May 2020 15:12:15 +0200 +Subject: [PATCH] http: free protocol-specific struct in setup_connection + callback + +... so that it can be setup properly later on +--- + lib/http.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/lib/http.c b/lib/http.c +index 46734c4..996106f 100644 +--- a/lib/http.c ++++ b/lib/http.c +@@ -98,12 +98,19 @@ static int https_getsock(struct connectdata *conn, + #define https_connecting(x,y) CURLE_COULDNT_CONNECT + #endif + ++static CURLcode Curl_http_setup_conn(struct connectdata *conn) ++{ ++ /* free protocol-specific struct so that it can be setup properly later on */ ++ Curl_safefree(conn->data->state.proto.http); ++ return CURLE_OK; ++} ++ + /* + * HTTP handler interface. + */ + const struct Curl_handler Curl_handler_http = { + "HTTP", /* scheme */ +- ZERO_NULL, /* setup_connection */ ++ Curl_http_setup_conn, /* setup_connection */ + Curl_http, /* do_it */ + Curl_http_done, /* done */ + ZERO_NULL, /* do_more */ +@@ -127,7 +134,7 @@ const struct Curl_handler Curl_handler_http = { + */ + const struct Curl_handler Curl_handler_https = { + "HTTPS", /* scheme */ +- ZERO_NULL, /* setup_connection */ ++ Curl_http_setup_conn, /* setup_connection */ + Curl_http, /* do_it */ + Curl_http_done, /* done */ + ZERO_NULL, /* do_more */ +-- +1.8.3.1 + diff --git a/SPECS/curl.spec b/SPECS/curl.spec index 80c668e..31740f2 100644 --- a/SPECS/curl.spec +++ b/SPECS/curl.spec @@ -1,7 +1,7 @@ Summary: A utility for getting files from remote servers (FTP, HTTP, and others) Name: curl Version: 7.29.0 -Release: 57%{?dist} +Release: 57%{?dist}.1 License: MIT Group: Applications/Internet Source: http://curl.haxx.se/download/%{name}-%{version}.tar.lzma @@ -223,6 +223,9 @@ Patch72: 0072-curl-7.29.0-dup-auth-header.patch # allow curl to POST from a char device (#1769307) Patch73: 0073-curl-7.29.0-post-cdev.patch +# http: free protocol-specific struct in setup_connection callback (#1836773) +Patch74: 0074-curl-7.29.0-http-setup_connection.patch + # patch making libcurl multilib ready Patch101: 0101-curl-7.29.0-multilib.patch @@ -425,6 +428,7 @@ documentation of the library, too. %patch70 -p1 %patch72 -p1 %patch73 -p1 +%patch74 -p1 # regenerate Makefile.in files aclocal -I m4 @@ -540,6 +544,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/aclocal/libcurl.m4 %changelog +* Tue Jun 02 2020 Kamil Dudka - 7.29.0-57.el7_8.1 +- http: free protocol-specific struct in setup_connection callback (#1836773) + * Wed Nov 27 2019 Kamil Dudka - 7.29.0-57 - allow curl to POST from a char device (#1769307)