SHA256
1
0
forked from pool/curl

Accepting request 748808 from devel:libraries:c_c++

OBS-URL: https://build.opensuse.org/request/show/748808
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/curl?expand=0&rev=151
This commit is contained in:
Dominique Leuenberger 2019-11-18 19:06:05 +00:00 committed by Git OBS Bridge
commit ee77433f93
5 changed files with 65 additions and 2 deletions

43
curl-expire-clear.patch Normal file
View File

@ -0,0 +1,43 @@
From 13182b33f727cf5a56a5a13419904369f7f3baad Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Sun, 10 Nov 2019 16:23:53 +0100
Subject: [PATCH] remove_handle: clear expire timers after multi_done()
Since 59041f0, a new timer might be set in multi_done() so the clearing
of the timers need to happen afterwards!
Reported-by: Max Kellermann
Fixes #4575
Closes #4583
---
lib/multi.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/lib/multi.c b/lib/multi.c
index 6dfe8842e7..7e8e38dc9f 100755
--- a/lib/multi.c
+++ b/lib/multi.c
@@ -695,11 +695,6 @@ CURLMcode curl_multi_remove_handle(struct Curl_multi *multi,
easy_owns_conn = TRUE;
}
- /* The timer must be shut down before data->multi is set to NULL,
- else the timenode will remain in the splay tree after
- curl_easy_cleanup is called. */
- Curl_expire_clear(data);
-
if(data->conn) {
/* we must call multi_done() here (if we still own the connection) so that
@@ -715,6 +710,11 @@ CURLMcode curl_multi_remove_handle(struct Curl_multi *multi,
}
}
+ /* The timer must be shut down before data->multi is set to NULL, else the
+ timenode will remain in the splay tree after curl_easy_cleanup is
+ called. Do it after multi_done() in case that sets another time! */
+ Curl_expire_clear(data);
+
if(data->connect_queue.ptr)
/* the handle was in the pending list waiting for an available connection,
so go ahead and remove it */

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Thu Nov 14 16:55:18 UTC 2019 - Pedro Monreal Gonzalez <pmonrealgonzalez@suse.com>
- Fix segfault in zypper ref: [bsc#1156481]
* remove_handle: clear expire timers after multi_done()
* Add patch curl-expire-clear.patch
-------------------------------------------------------------------
Wed Nov 6 15:52:24 UTC 2019 - Pedro Monreal Gonzalez <pmonrealgonzalez@suse.com>

View File

@ -1,7 +1,7 @@
#
# spec file for package curl-mini
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2019 SUSE LLC.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -45,6 +45,8 @@ Patch3: ignore_runtests_failure.patch
# PATCH-FIX-OPENSUSE bsc#1076446 protocol redirection not supported or disabled
Patch4: curl-disabled-redirect-protocol-message.patch
Patch5: curl-use_OPENSSL_config.patch
# PATCH-FIX-UPSTREAM bsc#1156481
Patch6: curl-expire-clear.patch
BuildRequires: libtool
BuildRequires: pkgconfig
Requires: libcurl4%{?mini} = %{version}
@ -126,6 +128,7 @@ user interaction or any kind of interactivity.
%endif
%patch4 -p1
%patch5 -p1
%patch6 -p1
# disable new failing test 1165
echo "1165" >> tests/data/DISABLED

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Thu Nov 14 16:55:18 UTC 2019 - Pedro Monreal Gonzalez <pmonrealgonzalez@suse.com>
- Fix segfault in zypper ref: [bsc#1156481]
* remove_handle: clear expire timers after multi_done()
* Add patch curl-expire-clear.patch
-------------------------------------------------------------------
Wed Nov 6 15:52:24 UTC 2019 - Pedro Monreal Gonzalez <pmonrealgonzalez@suse.com>

View File

@ -1,7 +1,7 @@
#
# spec file for package curl
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2019 SUSE LLC.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -43,6 +43,8 @@ Patch3: ignore_runtests_failure.patch
# PATCH-FIX-OPENSUSE bsc#1076446 protocol redirection not supported or disabled
Patch4: curl-disabled-redirect-protocol-message.patch
Patch5: curl-use_OPENSSL_config.patch
# PATCH-FIX-UPSTREAM bsc#1156481
Patch6: curl-expire-clear.patch
BuildRequires: libtool
BuildRequires: pkgconfig
Requires: libcurl4%{?mini} = %{version}
@ -124,6 +126,7 @@ user interaction or any kind of interactivity.
%endif
%patch4 -p1
%patch5 -p1
%patch6 -p1
# disable new failing test 1165
echo "1165" >> tests/data/DISABLED