summaryrefslogtreecommitdiff
path: root/drivers/crypto
diff options
context:
space:
mode:
authorSri Krishna chowdary <schowdary@nvidia.com>2012-10-08 11:38:52 +0530
committerSimone Willett <swillett@nvidia.com>2012-10-16 12:23:32 -0700
commitadbe71fe7f47d88e7b39b2d30cfd9a1ec88a9dd7 (patch)
tree2df94261c220fff5b44e393962cd5741bcbd9ecc /drivers/crypto
parentd355fb2c653ac53f49a95728129b4f016ed5e225 (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>
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 82c6d8a1c6b8..3e9fd80d73c1 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;