summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiloslav Trmač <mitr@redhat.com>2010-08-08 04:23:45 +0200
committerMiloslav Trmač <mitr@redhat.com>2010-08-08 04:23:45 +0200
commitcb21e629743317fa1e900fdad72474ec7d011ab3 (patch)
tree154a578996f844cf58822e0aee34b3bc4ad363ea
parentf28aa3e7b3a1cd96f5e6449e3793561409f1ac94 (diff)
downloadcryptodev-linux-cb21e629743317fa1e900fdad72474ec7d011ab3.tar.gz
cryptodev-linux-cb21e629743317fa1e900fdad72474ec7d011ab3.tar.xz
cryptodev-linux-cb21e629743317fa1e900fdad72474ec7d011ab3.zip
Ensure sign_hash is valid in RSA sign/verify
-rw-r--r--ncr-pk.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/ncr-pk.c b/ncr-pk.c
index 392ff07..1e83163 100644
--- a/ncr-pk.c
+++ b/ncr-pk.c
@@ -558,6 +558,10 @@ void * input, *output;
switch(ctx->algorithm->algo) {
case NCR_ALG_RSA:
+ if (ctx->sign_hash == NULL) {
+ err();
+ return -EINVAL;
+ }
cret = rsa_sign_hash_ex( input, isg_size, output, &osize,
ctx->type, ctx->sign_hash, ctx->salt_len, &ctx->key->key.pk.rsa);
if (cret != CRYPT_OK) {
@@ -618,6 +622,10 @@ uint8_t* sig;
switch(ctx->algorithm->algo) {
case NCR_ALG_RSA:
+ if (ctx->sign_hash == NULL) {
+ err();
+ return -EINVAL;
+ }
cret = rsa_verify_hash_ex( sig, sign_sg_size,
hash, hash_size, ctx->type, ctx->sign_hash,
ctx->salt_len, &stat, &ctx->key->key.pk.rsa);