summaryrefslogtreecommitdiffstats
path: root/engines/ccgost
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2015-03-25 14:41:58 +0100
committerRichard Levitte <levitte@openssl.org>2015-03-30 05:31:58 +0200
commit06affe3dac65592a341547f5a47e52cedb7b71f8 (patch)
tree8ce005d4f53f785e5b0082998bf8db9c66cc2c68 /engines/ccgost
parentb1a5d1c652086257930a1f62ae51c9cdee654b2c (diff)
Initialised 'ok' and redo the logic.
The logic with how 'ok' was calculated didn't quite convey what's "ok", so the logic is slightly redone to make it less confusing. Reviewed-by: Andy Polyakov <appro@openssl.org>
Diffstat (limited to 'engines/ccgost')
-rw-r--r--engines/ccgost/gost_sign.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/engines/ccgost/gost_sign.c b/engines/ccgost/gost_sign.c
index b3e1007dbb..fad2004361 100644
--- a/engines/ccgost/gost_sign.c
+++ b/engines/ccgost/gost_sign.c
@@ -167,7 +167,7 @@ int gost_do_verify(const unsigned char *dgst, int dgst_len,
BIGNUM *q2 = NULL;
BIGNUM *u = NULL, *v = NULL, *z1 = NULL, *z2 = NULL;
BIGNUM *tmp2 = NULL, *tmp3 = NULL;
- int ok;
+ int ok = 0;
BN_CTX *ctx = BN_CTX_new();
if(!ctx) {
GOSTerr(GOST_F_GOST_DO_VERIFY, ERR_R_MALLOC_FAILURE);
@@ -208,9 +208,9 @@ int gost_do_verify(const unsigned char *dgst, int dgst_len,
BN_mod_exp(tmp2, dsa->pub_key, z2, dsa->p, ctx);
BN_mod_mul(tmp3, tmp, tmp2, dsa->p, ctx);
BN_mod(u, tmp3, dsa->q, ctx);
- ok = BN_cmp(u, sig->r);
+ ok = (BN_cmp(u, sig->r) == 0);
- if (ok != 0) {
+ if (!ok) {
GOSTerr(GOST_F_GOST_DO_VERIFY, GOST_R_SIGNATURE_MISMATCH);
}
err:
@@ -219,7 +219,7 @@ err:
BN_CTX_end(ctx);
BN_CTX_free(ctx);
}
- return (ok == 0);
+ return ok;
}
/*