You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
2.9 KiB
81 lines
2.9 KiB
From 5cdcf1dbd39c64e18a81fc912a36942a3ec87565 Mon Sep 17 00:00:00 2001 |
|
From: Daniel Stenberg <daniel@haxx.se> |
|
Date: Mon, 19 Dec 2022 08:38:37 +0100 |
|
Subject: [PATCH] smb/telnet: do not free the protocol struct in *_done() |
|
|
|
It is managed by the generic layer. |
|
|
|
Reported-by: Trail of Bits |
|
|
|
Closes #10112 |
|
|
|
Upstream-commit: 4f20188ac644afe174be6005ef4f6ffba232b8b2 |
|
Signed-off-by: Kamil Dudka <kdudka@redhat.com> |
|
--- |
|
lib/smb.c | 14 ++------------ |
|
lib/telnet.c | 3 --- |
|
2 files changed, 2 insertions(+), 15 deletions(-) |
|
|
|
diff --git a/lib/smb.c b/lib/smb.c |
|
index 039d680..f682c1f 100644 |
|
--- a/lib/smb.c |
|
+++ b/lib/smb.c |
|
@@ -60,8 +60,6 @@ static CURLcode smb_connect(struct Curl_easy *data, bool *done); |
|
static CURLcode smb_connection_state(struct Curl_easy *data, bool *done); |
|
static CURLcode smb_do(struct Curl_easy *data, bool *done); |
|
static CURLcode smb_request_state(struct Curl_easy *data, bool *done); |
|
-static CURLcode smb_done(struct Curl_easy *data, CURLcode status, |
|
- bool premature); |
|
static CURLcode smb_disconnect(struct Curl_easy *data, |
|
struct connectdata *conn, bool dead); |
|
static int smb_getsock(struct Curl_easy *data, struct connectdata *conn, |
|
@@ -76,7 +74,7 @@ const struct Curl_handler Curl_handler_smb = { |
|
"SMB", /* scheme */ |
|
smb_setup_connection, /* setup_connection */ |
|
smb_do, /* do_it */ |
|
- smb_done, /* done */ |
|
+ ZERO_NULL, /* done */ |
|
ZERO_NULL, /* do_more */ |
|
smb_connect, /* connect_it */ |
|
smb_connection_state, /* connecting */ |
|
@@ -103,7 +101,7 @@ const struct Curl_handler Curl_handler_smbs = { |
|
"SMBS", /* scheme */ |
|
smb_setup_connection, /* setup_connection */ |
|
smb_do, /* do_it */ |
|
- smb_done, /* done */ |
|
+ ZERO_NULL, /* done */ |
|
ZERO_NULL, /* do_more */ |
|
smb_connect, /* connect_it */ |
|
smb_connection_state, /* connecting */ |
|
@@ -941,14 +939,6 @@ static CURLcode smb_request_state(struct Curl_easy *data, bool *done) |
|
return CURLE_OK; |
|
} |
|
|
|
-static CURLcode smb_done(struct Curl_easy *data, CURLcode status, |
|
- bool premature) |
|
-{ |
|
- (void) premature; |
|
- Curl_safefree(data->req.p.smb); |
|
- return status; |
|
-} |
|
- |
|
static CURLcode smb_disconnect(struct Curl_easy *data, |
|
struct connectdata *conn, bool dead) |
|
{ |
|
diff --git a/lib/telnet.c b/lib/telnet.c |
|
index 923c7f8..48cd0d7 100644 |
|
--- a/lib/telnet.c |
|
+++ b/lib/telnet.c |
|
@@ -1248,9 +1248,6 @@ static CURLcode telnet_done(struct Curl_easy *data, |
|
|
|
curl_slist_free_all(tn->telnet_vars); |
|
tn->telnet_vars = NULL; |
|
- |
|
- Curl_safefree(data->req.p.telnet); |
|
- |
|
return CURLE_OK; |
|
} |
|
|
|
-- |
|
2.38.1 |
|
|
|
|