Resolves: #1340757 - fix SIGSEGV of the curl tool

... while parsing URL with too many globs
This commit is contained in:
Kamil Dudka 2016-06-03 13:27:18 +02:00
parent 88c54d8197
commit 8e287ada5e
2 changed files with 43 additions and 1 deletions

View File

@ -0,0 +1,35 @@
From 5a3eddc9c327dcc20620d8ae47b27f5085811c7e Mon Sep 17 00:00:00 2001
From: Kamil Dudka <kdudka@redhat.com>
Date: Fri, 3 Jun 2016 11:26:20 +0200
Subject: [PATCH] tool_urlglob: fix off-by-one error in glob_parse()
... causing SIGSEGV while parsing URL with too many globs.
Minimal example:
$ curl $(for i in $(seq 101); do printf '{a}'; done)
Reported-by: Romain Coltel
Bug: https://bugzilla.redhat.com/1340757
Upstream-commit: 584d0121c353ed855115c39f6cbc009854018029
Signed-off-by: Kamil Dudka <kdudka@redhat.com>
---
src/tool_urlglob.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/tool_urlglob.c b/src/tool_urlglob.c
index 70d17fe..a357b8b 100644
--- a/src/tool_urlglob.c
+++ b/src/tool_urlglob.c
@@ -400,7 +400,7 @@ static CURLcode glob_parse(URLGlob *glob, char *pattern,
}
}
- if(++glob->size > GLOB_PATTERN_NUM)
+ if(++glob->size >= GLOB_PATTERN_NUM)
return GLOBERROR("too many globs", pos, CURLE_URL_MALFORMAT);
}
return res;
--
2.5.5

View File

@ -1,7 +1,7 @@
Summary: A utility for getting files from remote servers (FTP, HTTP, and others)
Name: curl
Version: 7.43.0
Release: 6%{?dist}
Release: 7%{?dist}
License: MIT
Group: Applications/Internet
Source: http://curl.haxx.se/download/%{name}-%{version}.tar.lzma
@ -25,6 +25,9 @@ Patch5: 0005-curl-7.43.0-ef0fdb83.patch
# tests/sshserver.pl: use RSA instead of DSA for host auth
Patch6: 0006-curl-7.43.0-effa575f.patch
# fix SIGSEGV of the curl tool while parsing URL with too many globs (#1340757)
Patch7: 0007-curl-7.49.1-urlglob.patch
# patch making libcurl multilib ready
Patch101: 0101-curl-7.32.0-multilib.patch
@ -141,6 +144,7 @@ documentation of the library, too.
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
# Fedora patches
%patch101 -p1
@ -260,6 +264,9 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/aclocal/libcurl.m4
%changelog
* Fri Jun 03 2016 Kamil Dudka <kdudka@redhat.com> 7.43.0-7
- fix SIGSEGV of the curl tool while parsing URL with too many globs (#1340757)
* Thu Feb 25 2016 Kamil Dudka <kdudka@redhat.com> 7.43.0-6
- cookie: fix bug in export if any-domain cookie is present (#1311907)