diff options
author | Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> | 2011-01-16 19:25:34 -0500 |
---|---|---|
committer | James Morris <jmorris@namei.org> | 2011-01-18 17:53:56 -0500 |
commit | 0e7491f685cbc962f2ef977f7b5f8ed0b3100e88 (patch) | |
tree | 44d27bf6f64b974eb8d177316c3fd77f66324b13 | |
parent | 35576eab390df313095306e2a8216134910e7014 (diff) |
trusted-keys: check for NULL before using it
TSS_rawhmac() checks for data != NULL before using it.
We should do the same thing for TSS_authhmac().
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Reviewed-by: Jesper Juhl <jj@chaosbits.net>
Acked-by: Mimi Zohar <zohar@us.ibm.com>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: James Morris <jmorris@namei.org>
-rw-r--r-- | security/keys/trusted_defined.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/security/keys/trusted_defined.c b/security/keys/trusted_defined.c index 7b2179589063..f7d06776faf0 100644 --- a/security/keys/trusted_defined.c +++ b/security/keys/trusted_defined.c | |||
@@ -148,6 +148,11 @@ static int TSS_authhmac(unsigned char *digest, const unsigned char *key, | |||
148 | if (dlen == 0) | 148 | if (dlen == 0) |
149 | break; | 149 | break; |
150 | data = va_arg(argp, unsigned char *); | 150 | data = va_arg(argp, unsigned char *); |
151 | if (!data) { | ||
152 | ret = -EINVAL; | ||
153 | va_end(argp); | ||
154 | goto out; | ||
155 | } | ||
151 | ret = crypto_shash_update(&sdesc->shash, data, dlen); | 156 | ret = crypto_shash_update(&sdesc->shash, data, dlen); |
152 | if (ret < 0) { | 157 | if (ret < 0) { |
153 | va_end(argp); | 158 | va_end(argp); |