diff options
author | Dinghao Liu <dinghao.liu@zju.edu.cn> | 2020-08-27 18:55:46 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-08-27 22:59:45 +0300 |
commit | b43c75abfd084b9e961a47c6331e01f2f91176b6 (patch) | |
tree | 25dbeb124e4ddd87f5ae5626d61c817466fdab92 /net | |
parent | 8d73a73a7f6312e65f3c93b6cb93df9e1eff2ca1 (diff) | |
download | linux-b43c75abfd084b9e961a47c6331e01f2f91176b6.tar.xz |
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: ef68622da9cc ("rxrpc: Handle temporary errors better in rxkad security")
Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/rxrpc/rxkad.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/rxrpc/rxkad.c b/net/rxrpc/rxkad.c index 52a24d4ef5d8..e08130e5746b 100644 --- a/net/rxrpc/rxkad.c +++ b/net/rxrpc/rxkad.c @@ -1137,7 +1137,7 @@ static int rxkad_verify_response(struct rxrpc_connection *conn, ret = -ENOMEM; ticket = kmalloc(ticket_len, GFP_NOFS); if (!ticket) - goto temporary_error; + goto temporary_error_free_resp; eproto = tracepoint_string("rxkad_tkt_short"); abort_code = RXKADPACKETSHORT; @@ -1230,6 +1230,7 @@ protocol_error: temporary_error_free_ticket: kfree(ticket); +temporary_error_free_resp: kfree(response); temporary_error: /* Ignore the response packet if we got a temporary error such as |