From 390c5c9db91953a06c0d39148e4c1831b3bec822238bf60ddce4a4d8f0dd9c24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Mon, 18 Mar 2019 12:23:25 +0000 Subject: [PATCH] Accepting request 686070 from home:pmonrealgonzalez:branches:devel:libraries:c_c++ - Fix variable placement that wasn't properly reset within a loop missing to notify sockets. [bsc#1129083, bsc#1129470] * Added curl-singlesocket-sincebefore-placement.patch - Fix variable placement that wasn't properly reset within a loop missing to notify sockets. [bsc#1129083, bsc#1129470] * Added curl-singlesocket-sincebefore-placement.patch OBS-URL: https://build.opensuse.org/request/show/686070 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/curl?expand=0&rev=249 --- curl-mini.changes | 7 ++++ curl-mini.spec | 3 ++ curl-singlesocket-sincebefore-placement.patch | 40 +++++++++++++++++++ curl.changes | 7 ++++ curl.spec | 3 ++ 5 files changed, 60 insertions(+) create mode 100644 curl-singlesocket-sincebefore-placement.patch diff --git a/curl-mini.changes b/curl-mini.changes index 33402e0..99eaf31 100644 --- a/curl-mini.changes +++ b/curl-mini.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Mar 18 10:34:14 UTC 2019 - Pedro Monreal Gonzalez + +- Fix variable placement that wasn't properly reset within a loop + missing to notify sockets. [bsc#1129083, bsc#1129470] + * Added curl-singlesocket-sincebefore-placement.patch + ------------------------------------------------------------------- Fri Mar 8 16:10:39 UTC 2019 - Fabian Vogt diff --git a/curl-mini.spec b/curl-mini.spec index e693582..6cd476d 100644 --- a/curl-mini.spec +++ b/curl-mini.spec @@ -49,6 +49,8 @@ Patch5: curl-use_OPENSSL_config.patch # PATCH-FIX-UPSTREAM boo#1127849 fix a crash in libcurl Patch6: 0001-connection_check-set-data-to-the-transfer-doing-the-.patch Patch7: 0002-connection_check-restore-original-conn-data-after-th.patch +# PATCH-FIX-UPSTREAM bsc#1129083 bsc#1129470 Fix sincebefore variable placement +Patch8: curl-singlesocket-sincebefore-placement.patch BuildRequires: libtool BuildRequires: pkgconfig Requires: libcurl4%{?mini} = %{version} @@ -134,6 +136,7 @@ user interaction or any kind of interactivity. %patch5 -p1 %patch6 -p1 %patch7 -p1 +%patch8 -p1 %build # curl complains if macro definition is contained in CFLAGS diff --git a/curl-singlesocket-sincebefore-placement.patch b/curl-singlesocket-sincebefore-placement.patch new file mode 100644 index 0000000..cb4c19a --- /dev/null +++ b/curl-singlesocket-sincebefore-placement.patch @@ -0,0 +1,40 @@ +From afc00e047c773faeaa60a5f86a246cbbeeba5819 Mon Sep 17 00:00:00 2001 +From: Daniel Stenberg +Date: Tue, 19 Feb 2019 15:56:54 +0100 +Subject: [PATCH] singlesocket: fix the 'sincebefore' placement + +The variable wasn't properly reset within the loop and thus could remain +set for sockets that hadn't been set before and miss notifying the app. + +This is a follow-up to 4c35574 (shipped in curl 7.64.0) + +Reported-by: buzo-ffm on github +Detected-by: Jan Alexander Steffens +Fixes #3585 +Closes #3589 +--- + lib/multi.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lib/multi.c b/lib/multi.c +index aaae8b9786..521262b2b2 100644 +--- a/lib/multi.c ++++ b/lib/multi.c +@@ -2349,8 +2349,6 @@ static CURLMcode singlesocket(struct Curl_multi *multi, + int num; + unsigned int curraction; + int actions[MAX_SOCKSPEREASYHANDLE]; +- unsigned int comboaction; +- bool sincebefore = FALSE; + + for(i = 0; i< MAX_SOCKSPEREASYHANDLE; i++) + socks[i] = CURL_SOCKET_BAD; +@@ -2369,6 +2367,8 @@ static CURLMcode singlesocket(struct Curl_multi *multi, + i++) { + unsigned int action = CURL_POLL_NONE; + unsigned int prevaction = 0; ++ unsigned int comboaction; ++ bool sincebefore = FALSE; + + s = socks[i]; + diff --git a/curl.changes b/curl.changes index 33402e0..99eaf31 100644 --- a/curl.changes +++ b/curl.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Mon Mar 18 10:34:14 UTC 2019 - Pedro Monreal Gonzalez + +- Fix variable placement that wasn't properly reset within a loop + missing to notify sockets. [bsc#1129083, bsc#1129470] + * Added curl-singlesocket-sincebefore-placement.patch + ------------------------------------------------------------------- Fri Mar 8 16:10:39 UTC 2019 - Fabian Vogt diff --git a/curl.spec b/curl.spec index eb5b412..69f25cd 100644 --- a/curl.spec +++ b/curl.spec @@ -47,6 +47,8 @@ Patch5: curl-use_OPENSSL_config.patch # PATCH-FIX-UPSTREAM boo#1127849 fix a crash in libcurl Patch6: 0001-connection_check-set-data-to-the-transfer-doing-the-.patch Patch7: 0002-connection_check-restore-original-conn-data-after-th.patch +# PATCH-FIX-UPSTREAM bsc#1129083 bsc#1129470 Fix sincebefore variable placement +Patch8: curl-singlesocket-sincebefore-placement.patch BuildRequires: libtool BuildRequires: pkgconfig Requires: libcurl4%{?mini} = %{version} @@ -132,6 +134,7 @@ user interaction or any kind of interactivity. %patch5 -p1 %patch6 -p1 %patch7 -p1 +%patch8 -p1 %build # curl complains if macro definition is contained in CFLAGS