mirror of https://gitee.com/openkylin/linux.git
crypto: hash - initialize entry len for null input in crypto hash sg list walk
For the special case when we have a null input string, we want to initialize the entry len to 0 for the hash/ahash walk, so cyrpto_hash_walk_last will return the correct result indicating that we have completed the scatter list walk. Otherwise we may keep walking the sg list and access bogus memory address. Signed-off-by: Tim Chen <tim.c.chen@linux.intel.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
7d1311b93e
commit
6d9529c586
|
@ -131,8 +131,10 @@ int crypto_hash_walk_first(struct ahash_request *req,
|
|||
{
|
||||
walk->total = req->nbytes;
|
||||
|
||||
if (!walk->total)
|
||||
if (!walk->total) {
|
||||
walk->entrylen = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
walk->alignmask = crypto_ahash_alignmask(crypto_ahash_reqtfm(req));
|
||||
walk->sg = req->src;
|
||||
|
@ -147,8 +149,10 @@ int crypto_ahash_walk_first(struct ahash_request *req,
|
|||
{
|
||||
walk->total = req->nbytes;
|
||||
|
||||
if (!walk->total)
|
||||
if (!walk->total) {
|
||||
walk->entrylen = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
walk->alignmask = crypto_ahash_alignmask(crypto_ahash_reqtfm(req));
|
||||
walk->sg = req->src;
|
||||
|
@ -167,8 +171,10 @@ int crypto_hash_walk_first_compat(struct hash_desc *hdesc,
|
|||
{
|
||||
walk->total = len;
|
||||
|
||||
if (!walk->total)
|
||||
if (!walk->total) {
|
||||
walk->entrylen = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
walk->alignmask = crypto_hash_alignmask(hdesc->tfm);
|
||||
walk->sg = sg;
|
||||
|
|
Loading…
Reference in New Issue