Commit b43c75ab authored by Dinghao Liu's avatar Dinghao Liu Committed by David S. Miller

rxrpc: Fix memory leak in rxkad_verify_response()

Fix a memory leak in rxkad_verify_response() whereby the response buffer
doesn't get freed if we fail to allocate a ticket buffer.

Fixes: ef68622d ("rxrpc: Handle temporary errors better in rxkad security")
Signed-off-by: default avatarDinghao Liu <dinghao.liu@zju.edu.cn>
Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 8d73a73a
...@@ -1137,7 +1137,7 @@ static int rxkad_verify_response(struct rxrpc_connection *conn, ...@@ -1137,7 +1137,7 @@ static int rxkad_verify_response(struct rxrpc_connection *conn,
ret = -ENOMEM; ret = -ENOMEM;
ticket = kmalloc(ticket_len, GFP_NOFS); ticket = kmalloc(ticket_len, GFP_NOFS);
if (!ticket) if (!ticket)
goto temporary_error; goto temporary_error_free_resp;
eproto = tracepoint_string("rxkad_tkt_short"); eproto = tracepoint_string("rxkad_tkt_short");
abort_code = RXKADPACKETSHORT; abort_code = RXKADPACKETSHORT;
...@@ -1230,6 +1230,7 @@ static int rxkad_verify_response(struct rxrpc_connection *conn, ...@@ -1230,6 +1230,7 @@ static int rxkad_verify_response(struct rxrpc_connection *conn,
temporary_error_free_ticket: temporary_error_free_ticket:
kfree(ticket); kfree(ticket);
temporary_error_free_resp:
kfree(response); kfree(response);
temporary_error: temporary_error:
/* Ignore the response packet if we got a temporary error such as /* Ignore the response packet if we got a temporary error such as
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment