diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2023-06-27 12:59:32 +0300 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2023-06-27 12:59:52 +0300 |
commit | 486bfb05913ac9969a3a71a4dc48f17f31cb162d (patch) | |
tree | 52e12ccce05a85fd41db07c74aca5059dd8a7d84 /crypto | |
parent | 891ebfdfa3d08bf55ebec523c99bb68ac9c34cf7 (diff) | |
download | linux-486bfb05913ac9969a3a71a4dc48f17f31cb162d.tar.xz |
crypto: akcipher - Do not copy dst if it is NULL
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>
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/akcipher.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/crypto/akcipher.c b/crypto/akcipher.c index e9b6ddcdf124..52813f0b19e4 100644 --- a/crypto/akcipher.c +++ b/crypto/akcipher.c @@ -234,7 +234,8 @@ EXPORT_SYMBOL_GPL(crypto_akcipher_sync_prep); 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; |