author | Yiteng Zhang <yiteng.zhang@oracle.com> |
Tue, 25 Oct 2016 14:43:21 -0700 | |
branch | s11u3-sru |
changeset 7255 | c7815ed3b336 |
permissions | -rw-r--r-- |
7255
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
1 |
From ccb7d79b62c8b15a6be446f9c9fd3767c01eb5b6 Mon Sep 17 00:00:00 2001 |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
2 |
From: Daniel Stenberg <[email protected]> |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
3 |
Date: Sun, 31 Jul 2016 01:09:04 +0200 |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
4 |
Subject: [PATCH] curl_multi_cleanup: clear connection pointer for easy handles |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
5 |
MIME-Version: 1.0 |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
6 |
Content-Type: text/plain; charset=UTF-8 |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
7 |
Content-Transfer-Encoding: 8bit |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
8 |
|
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
9 |
CVE-2016-5421 |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
10 |
Bug: https://curl.haxx.se/docs/adv_20160803C.html |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
11 |
Reported-by: Marcelo Echeverria and Fernando Muñoz |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
12 |
--- |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
13 |
lib/multi.c | 2 ++ |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
14 |
1 file changed, 2 insertions(+) |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
15 |
|
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
16 |
--- lib/multi.c |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
17 |
+++ lib/multi.c |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
18 |
@@ -2155,10 +2155,12 @@ static void close_all_connections(struct Curl_multi *multi) |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
19 |
while(conn) { |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
20 |
SIGPIPE_VARIABLE(pipe_st); |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
21 |
conn->data = multi->closure_handle; |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
22 |
|
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
23 |
sigpipe_ignore(conn->data, &pipe_st); |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
24 |
+ conn->data->easy_conn = NULL; /* clear the easy handle's connection |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
25 |
+ pointer */ |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
26 |
/* This will remove the connection from the cache */ |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
27 |
(void)Curl_disconnect(conn, FALSE); |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
28 |
sigpipe_restore(&pipe_st); |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
29 |
|
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
30 |
conn = Curl_conncache_find_first_connection(&multi->conn_cache); |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
31 |
-- |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
32 |
2.8.1 |
c7815ed3b336
24409713 problem in LIBRARY/CURL
Yiteng Zhang <yiteng.zhang@oracle.com>
parents:
diff
changeset
|
33 |