crypto: fix a memory leak in rsa-kcs1pad's encryption mode
The encryption mode of pkcs1pad never uses out_sg and out_buf, so there's no need to allocate the buffer, which presently is not even being freed. CC: Herbert Xu <herbert@gondor.apana.org.au> CC: linux-crypto@vger.kernel.org CC: "David S. Miller" <davem@davemloft.net> Signed-off-by: Dan Aloni <dan@kernelim.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
cdf640a69f
commit
3944f139d5
|
@ -261,15 +261,6 @@ static int pkcs1pad_encrypt(struct akcipher_request *req)
|
||||||
pkcs1pad_sg_set_buf(req_ctx->in_sg, req_ctx->in_buf,
|
pkcs1pad_sg_set_buf(req_ctx->in_sg, req_ctx->in_buf,
|
||||||
ctx->key_size - 1 - req->src_len, req->src);
|
ctx->key_size - 1 - req->src_len, req->src);
|
||||||
|
|
||||||
req_ctx->out_buf = kmalloc(ctx->key_size, GFP_KERNEL);
|
|
||||||
if (!req_ctx->out_buf) {
|
|
||||||
kfree(req_ctx->in_buf);
|
|
||||||
return -ENOMEM;
|
|
||||||
}
|
|
||||||
|
|
||||||
pkcs1pad_sg_set_buf(req_ctx->out_sg, req_ctx->out_buf,
|
|
||||||
ctx->key_size, NULL);
|
|
||||||
|
|
||||||
akcipher_request_set_tfm(&req_ctx->child_req, ctx->child);
|
akcipher_request_set_tfm(&req_ctx->child_req, ctx->child);
|
||||||
akcipher_request_set_callback(&req_ctx->child_req, req->base.flags,
|
akcipher_request_set_callback(&req_ctx->child_req, req->base.flags,
|
||||||
pkcs1pad_encrypt_sign_complete_cb, req);
|
pkcs1pad_encrypt_sign_complete_cb, req);
|
||||||
|
|
Loading…
Reference in New Issue