X-Git-Url: http://wagner.pp.ru/gitweb/?a=blobdiff_plain;f=gost_ec_sign.c;h=03a2ba09da25079700ebdc69b3de3cf846282bd5;hb=refs%2Fheads%2Fopenssl_1_1_0_release1;hp=2c04ed756e2600b86fa197dbc97b5afe21e8d207;hpb=e2d3705da37abfa9edf270b52178c8c66abc51e7;p=openssl-gost%2Fengine.git diff --git a/gost_ec_sign.c b/gost_ec_sign.c index 2c04ed7..03a2ba0 100644 --- a/gost_ec_sign.c +++ b/gost_ec_sign.c @@ -276,13 +276,13 @@ DSA_SIG *gost_ec_sign(const unsigned char *dgst, int dlen, EC_KEY *eckey) } while (BN_is_zero(s)); - DSA_SIG_get0(&new_r, &new_s, newsig); new_s = BN_dup(s); new_r = BN_dup(r); if (!new_s || !new_r) { GOSTerr(GOST_F_GOST_EC_SIGN, ERR_R_MALLOC_FAILURE); goto err; } + DSA_SIG_set0(newsig, new_r, new_s); ret = newsig; err: @@ -310,7 +310,7 @@ int gost_ec_verify(const unsigned char *dgst, int dgst_len, BIGNUM *order; BIGNUM *md = NULL, *e = NULL, *R = NULL, *v = NULL, *z1 = NULL, *z2 = NULL; - BIGNUM *sig_s = NULL, *sig_r = NULL; + const BIGNUM *sig_s = NULL, *sig_r = NULL; BIGNUM *X = NULL, *tmp = NULL; EC_POINT *C = NULL; const EC_POINT *pub_key = NULL; @@ -343,7 +343,7 @@ int gost_ec_verify(const unsigned char *dgst, int dgst_len, goto err; } - DSA_SIG_get0(&sig_r, &sig_s, sig); + DSA_SIG_get0(sig, &sig_r, &sig_s); if (BN_is_zero(sig_s) || BN_is_zero(sig_r) || (BN_cmp(sig_s, order) >= 1) || (BN_cmp(sig_r, order) >= 1)) {