diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2021-08-26 16:04:27 +0300 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2021-09-24 15:58:41 +0800 |
commit | 505d9dcb0f7ddf9d075e729523a33d38642ae680 (patch) | |
tree | 692d9c16d80eada7f6e5a115c5c7d48d8aa8de61 /fs/fat/inode.c | |
parent | 6880fa6c56601bb8ed59df6c30fd390cc5f6dd8f (diff) |
crypto: ccp - fix resource leaks in ccp_run_aes_gcm_cmd()
There are three bugs in this code:
1) If we ccp_init_data() fails for &src then we need to free aad.
Use goto e_aad instead of goto e_ctx.
2) The label to free the &final_wa was named incorrectly as "e_tag" but
it should have been "e_final_wa". One error path leaked &final_wa.
3) The &tag was leaked on one error path. In that case, I added a free
before the goto because the resource was local to that block.
Fixes: 36cf515b9bbe ("crypto: ccp - Enable support for AES GCM on v5 CCPs")
Reported-by: "minihanshen(沈明航)" <minihanshen@tencent.com>
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: John Allen <john.allen@amd.com>
Tested-by: John Allen <john.allen@amd.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'fs/fat/inode.c')
0 files changed, 0 insertions, 0 deletions