actually fix SIGSEGV of curl -O -J given more than one URL
This commit is contained in:
parent
7293378155
commit
8b6f7828aa
46
0005-curl-7.21.7-61ae7e9.patch
Normal file
46
0005-curl-7.21.7-61ae7e9.patch
Normal file
@ -0,0 +1,46 @@
|
||||
From 61ae7e9ce77af86a7290fca8bf73c9798f80845c Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Stenberg <daniel@haxx.se>
|
||||
Date: Sun, 21 Aug 2011 12:59:06 +0200
|
||||
Subject: [PATCH] main: fix segfault
|
||||
|
||||
Follow-up to commit 5eb2396cd as that wasn't complete.
|
||||
|
||||
At times HEADERFUNCTION+HEADERDATA was set only to have only HEADERDATA
|
||||
set in the subsequent loop which could cause a NULL to get sent as
|
||||
userdata to 'header_callback' which wasn't made to handle that.
|
||||
|
||||
Now HEADERFUNCTION is explicitly set to NULL if it isn't set to the
|
||||
callback.
|
||||
---
|
||||
src/main.c | 8 ++++++--
|
||||
1 files changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/main.c b/src/main.c
|
||||
index 276718b..56cd133 100644
|
||||
--- a/src/main.c
|
||||
+++ b/src/main.c
|
||||
@@ -5415,8 +5415,6 @@ operate(struct Configurable *config, int argc, argv_item_t argv[])
|
||||
my_setopt(curl, CURLOPT_QUOTE, config->quote);
|
||||
my_setopt(curl, CURLOPT_POSTQUOTE, config->postquote);
|
||||
my_setopt(curl, CURLOPT_PREQUOTE, config->prequote);
|
||||
- my_setopt(curl, CURLOPT_HEADERDATA,
|
||||
- config->headerfile?&heads:NULL);
|
||||
my_setopt_str(curl, CURLOPT_COOKIEFILE, config->cookiefile);
|
||||
/* cookie jar was added in 7.9 */
|
||||
if(config->cookiejar)
|
||||
@@ -5621,6 +5619,12 @@ operate(struct Configurable *config, int argc, argv_item_t argv[])
|
||||
my_setopt(curl, CURLOPT_HEADERFUNCTION, header_callback);
|
||||
my_setopt(curl, CURLOPT_HEADERDATA, &outs);
|
||||
}
|
||||
+ else {
|
||||
+ /* if HEADERFUNCTION was set to something in the previous loop, it
|
||||
+ is important that we set it (back) to NULL now */
|
||||
+ my_setopt(curl, CURLOPT_HEADERFUNCTION, NULL);
|
||||
+ my_setopt(curl, CURLOPT_HEADERDATA, config->headerfile?&heads:NULL);
|
||||
+ }
|
||||
|
||||
if(config->resolve)
|
||||
/* new in 7.21.3 */
|
||||
--
|
||||
1.7.6
|
||||
|
@ -1,7 +1,7 @@
|
||||
Summary: A utility for getting files from remote servers (FTP, HTTP, and others)
|
||||
Name: curl
|
||||
Version: 7.21.7
|
||||
Release: 3%{?dist}
|
||||
Release: 4%{?dist}
|
||||
License: MIT
|
||||
Group: Applications/Internet
|
||||
Source: http://curl.haxx.se/download/%{name}-%{version}.tar.lzma
|
||||
@ -13,6 +13,7 @@ Patch1: 0001-curl-7.21.7-a7864c4.patch
|
||||
|
||||
# fix SIGSEGV of curl -O -J given more than one URLs (#723075)
|
||||
Patch2: 0002-curl-7.21.7-5eb2396.patch
|
||||
Patch5: 0005-curl-7.21.7-61ae7e9.patch
|
||||
|
||||
# introduce the --delegation option of curl (#730444)
|
||||
Patch3: 0003-curl-7.21.7-5538904.patch
|
||||
@ -123,6 +124,7 @@ done
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
|
||||
# Fedora patches
|
||||
%patch101 -p1
|
||||
@ -236,8 +238,11 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%{_datadir}/aclocal/libcurl.m4
|
||||
|
||||
%changelog
|
||||
* Sun Aug 21 2011 Paul Howarth <paul@city-fan.org> 7.21.7-4
|
||||
- actually fix SIGSEGV of curl -O -J given more than one URL (#723075)
|
||||
|
||||
* Mon Aug 15 2011 Kamil Dudka <kdudka@redhat.com> 7.21.7-3
|
||||
- fix SIGSEGV of curl -O -J given more than one URLs (#723075)
|
||||
- fix SIGSEGV of curl -O -J given more than one URL (#723075)
|
||||
- introduce the --delegation option of curl (#730444)
|
||||
- initialize NSS with no database if the selected database is broken (#728562)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user