diff options
author | Sri Krishna chowdary <schowdary@nvidia.com> | 2012-10-08 11:38:52 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2013-09-14 00:48:24 -0700 |
commit | fecaabd12921759d16de30a35e479072bd4c3ba5 (patch) | |
tree | 5e265a87f2307cffd66aa67dc0657def4ca3be48 /drivers/crypto | |
parent | a40b7a40876b0932c8385aa629b870af9bcb316f (diff) |
crypto: tegra-se: fix coverity issue
Dereference after NULL check.
Bug 1046331
Change-Id: I9438cf4aba92bec2c0aaccb5e272368a1bd99693
Signed-off-by: Sri Krishna chowdary <schowdary@nvidia.com>
Reviewed-on: http://git-master/r/142204
Reviewed-by: Sachin Nikam <snikam@nvidia.com>
Rebase-Id: R8fa356e278ce778b847508d31d96e8a334cf106d
Diffstat (limited to 'drivers/crypto')
-rw-r--r-- | drivers/crypto/tegra-se.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/crypto/tegra-se.c b/drivers/crypto/tegra-se.c index 47419702b56f..04d6287a9290 100644 --- a/drivers/crypto/tegra-se.c +++ b/drivers/crypto/tegra-se.c @@ -1949,8 +1949,8 @@ static void tegra_se_read_rsa_result(struct tegra_se_dev *se_dev, int tegra_se_rsa_digest(struct ahash_request *req) { - struct crypto_ahash *tfm = crypto_ahash_reqtfm(req); - struct tegra_se_aes_rsa_context *rsa_ctx = crypto_ahash_ctx(tfm); + struct crypto_ahash *tfm = NULL; + struct tegra_se_aes_rsa_context *rsa_ctx = NULL; struct tegra_se_dev *se_dev = sg_tegra_se_dev; struct scatterlist *src_sg; struct tegra_se_ll *src_ll; @@ -1961,6 +1961,16 @@ int tegra_se_rsa_digest(struct ahash_request *req) if (!req) return -EINVAL; + tfm = crypto_ahash_reqtfm(req); + + if (!tfm) + return -EINVAL; + + rsa_ctx = crypto_ahash_ctx(tfm); + + if (!rsa_ctx || !rsa_ctx->slot) + return -EINVAL; + if (!req->nbytes) return -EINVAL; |