summaryrefslogtreecommitdiff
path: root/drivers/crypto
diff options
context:
space:
mode:
authorSri Krishna chowdary <schowdary@nvidia.com>2012-10-08 11:38:52 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 00:48:24 -0700
commitfecaabd12921759d16de30a35e479072bd4c3ba5 (patch)
tree5e265a87f2307cffd66aa67dc0657def4ca3be48 /drivers/crypto
parenta40b7a40876b0932c8385aa629b870af9bcb316f (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.c14
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;