Blob Blame History Raw
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: Tue, 27 Jun 2023 17:59:32 +0800
Subject: crypto: akcipher - Do not copy dst if it is NULL
Patch-mainline: v6.5-rc1
Git-commit: 486bfb05913ac9969a3a71a4dc48f17f31cb162d
References: jsc#PED-5460

As signature verification has a NULL destination buffer, the pointer
needs to be checked before the memcpy is done.

Fixes: addde1f2c966 ("crypto: akcipher - Add sync interface without SG lists")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Acked-by: Lee, Chun-Yi <jlee@suse.com>
---
 crypto/akcipher.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

--- a/crypto/akcipher.c
+++ b/crypto/akcipher.c
@@ -234,7 +234,8 @@ EXPORT_SYMBOL_GPL(crypto_akcipher_sync_p
 int crypto_akcipher_sync_post(struct crypto_akcipher_sync_data *data, int err)
 {
 	err = crypto_wait_req(err, &data->cwait);
-	memcpy(data->dst, data->buf, data->dlen);
+	if (data->dst)
+		memcpy(data->dst, data->buf, data->dlen);
 	data->dlen = data->req->dst_len;
 	kfree_sensitive(data->req);
 	return err;