diff options
author | Richard Levitte <levitte@openssl.org> | 2015-03-25 14:41:58 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2015-04-21 01:45:58 +0200 |
commit | 0725acd0712f12aa611846c852a2e20583e438e9 (patch) | |
tree | 210fd24dbb3684fc4b5bf8fbfdc94c3d66767859 | |
parent | 5fa7c10bc4693349ebbfcab00f644545b21b544b (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>
(cherry picked from commit 06affe3dac65592a341547f5a47e52cedb7b71f8)
-rw-r--r-- | engines/ccgost/gost_sign.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/engines/ccgost/gost_sign.c b/engines/ccgost/gost_sign.c index 073c5af079..4b5f49efea 100644 --- a/engines/ccgost/gost_sign.c +++ b/engines/ccgost/gost_sign.c @@ -166,7 +166,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); @@ -207,9 +207,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: @@ -218,7 +218,7 @@ err: BN_CTX_end(ctx); BN_CTX_free(ctx); } - return (ok == 0); + return ok; } /* |