- Add patches to fix use-after-free (boo#1127849): * 0001-connection_check-set-data-to-the-transfer-doing-the-.patch * 0002-connection_check-restore-original-conn-data-after-th.patch OBS-URL: https://build.opensuse.org/request/show/682917 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/curl?expand=0&rev=247
32 lines
1015 B
Diff
32 lines
1015 B
Diff
From c34b576805318aa4896caf1d9b806a5bb89ca456 Mon Sep 17 00:00:00 2001
|
|
From: Daniel Stenberg <daniel@haxx.se>
|
|
Date: Mon, 11 Feb 2019 07:56:00 +0100
|
|
Subject: [PATCH 1/2] connection_check: set ->data to the transfer doing the
|
|
check
|
|
|
|
The http2 code for connection checking needs a transfer to use. Make
|
|
sure a working one is set before handler->connection_check() is called.
|
|
|
|
Reported-by: jnbr on github
|
|
Fixes #3541
|
|
Closes #3547
|
|
---
|
|
lib/url.c | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
diff --git a/lib/url.c b/lib/url.c
|
|
index d5a982008..229c655da 100644
|
|
--- a/lib/url.c
|
|
+++ b/lib/url.c
|
|
@@ -965,6 +965,7 @@ static bool extract_if_dead(struct connectdata *conn,
|
|
/* The protocol has a special method for checking the state of the
|
|
connection. Use it to check if the connection is dead. */
|
|
unsigned int state;
|
|
+ conn->data = data; /* use this transfer for now */
|
|
state = conn->handler->connection_check(conn, CONNCHECK_ISDEAD);
|
|
dead = (state & CONNRESULT_DEAD);
|
|
}
|
|
--
|
|
2.20.1
|
|
|