SPNEGO: Fix memory leak when authentication fails
If SPNEGO fails, cleanup the negotiate handle right away. Fixes #1115 Signed-off-by: Isaac Boukris <iboukris@gmail.com> Reported-by: ashman-p
This commit is contained in:
parent
1299df6868
commit
46f906a1b0
@ -37,6 +37,7 @@
|
|||||||
CURLcode Curl_input_negotiate(struct connectdata *conn, bool proxy,
|
CURLcode Curl_input_negotiate(struct connectdata *conn, bool proxy,
|
||||||
const char *header)
|
const char *header)
|
||||||
{
|
{
|
||||||
|
CURLcode result;
|
||||||
struct Curl_easy *data = conn->data;
|
struct Curl_easy *data = conn->data;
|
||||||
size_t len;
|
size_t len;
|
||||||
|
|
||||||
@ -89,8 +90,13 @@ CURLcode Curl_input_negotiate(struct connectdata *conn, bool proxy,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Initilise the security context and decode our challenge */
|
/* Initilise the security context and decode our challenge */
|
||||||
return Curl_auth_decode_spnego_message(data, userp, passwdp, service, host,
|
result = Curl_auth_decode_spnego_message(data, userp, passwdp, service,
|
||||||
header, neg_ctx);
|
host, header, neg_ctx);
|
||||||
|
|
||||||
|
if(result)
|
||||||
|
Curl_auth_spnego_cleanup(neg_ctx);
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
CURLcode Curl_output_negotiate(struct connectdata *conn, bool proxy)
|
CURLcode Curl_output_negotiate(struct connectdata *conn, bool proxy)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user