From: Richard Levitte Date: Tue, 8 Mar 2016 22:12:14 +0000 (+0100) Subject: Adapt e_capi to the DSA_SIG_get0() API X-Git-Tag: OpenSSL_1_1_0-pre4~221 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=a8a355402cf2b75fd8fffcd56f9abf6e9c5fae4a;p=oweals%2Fopenssl.git Adapt e_capi to the DSA_SIG_get0() API Reviewed-by: Rich Salz --- diff --git a/engines/e_capi.c b/engines/e_capi.c index 8e78354b70..58283e506d 100644 --- a/engines/e_capi.c +++ b/engines/e_capi.c @@ -1022,15 +1022,13 @@ static DSA_SIG *capi_dsa_do_sign(const unsigned char *digest, int dlen, capi_addlasterror(); goto err; } else { + BIGNUM *r = NULL, *s = NULL; ret = DSA_SIG_new(); if (ret == NULL) goto err; - ret->r = BN_new(); - ret->s = BN_new(); - if (ret->r == NULL || ret->s == NULL) - goto err; - if (!lend_tobn(ret->r, csigbuf, 20) - || !lend_tobn(ret->s, csigbuf + 20, 20)) { + DSA_SIG_get0(&r, &s, ret); + if (!lend_tobn(r, csigbuf, 20) + || !lend_tobn(s, csigbuf + 20, 20)) { DSA_SIG_free(ret); ret = NULL; goto err;