提交 7a533600 编写于 作者: A Andy Polyakov

engines/e_capi.c: accommodate recent DSA_SIG_[get|set]0 changes.

Reviewed-by: NRich Salz <rsalz@openssl.org>
上级 e0685d24
......@@ -1029,17 +1029,17 @@ 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;
DSA_SIG_get0(&r, &s, ret);
if (!lend_tobn(r, csigbuf, 20)
|| !lend_tobn(s, csigbuf + 20, 20)) {
DSA_SIG_free(ret);
ret = NULL;
BIGNUM *r = BN_new(), *s = BN_new();
if (r == NULL || s == NULL
|| !lend_tobn(r, csigbuf, 20)
|| !lend_tobn(s, csigbuf + 20, 20)
|| (ret = DSA_SIG_new()) == NULL) {
BN_free(r); /* BN_free checks for BIGNUM * being NULL */
BN_free(s);
goto err;
}
DSA_SIG_set0(ret, r, s);
}
/* Now cleanup */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册