Free r and s on ECDSA_SIG before overwriting them in ECDSA_SIG_set0
This commit is contained in:
parent
dbe0672dc4
commit
106d613805
|
|
@ -108,7 +108,7 @@ impl EcdsaSig {
|
|||
/// Decodes a DER-encoded ECDSA signature.
|
||||
///
|
||||
/// This corresponds to [`d2i_ECDSA_SIG`].
|
||||
///
|
||||
///
|
||||
/// [`d2i_ECDSA_SIG`]: https://www.openssl.org/docs/man1.1.0/crypto/d2i_ECDSA_SIG.html
|
||||
from_der,
|
||||
EcdsaSig,
|
||||
|
|
@ -121,7 +121,7 @@ impl EcdsaSigRef {
|
|||
/// Serializes the ECDSA signature into a DER-encoded ECDSASignature structure.
|
||||
///
|
||||
/// This corresponds to [`i2d_ECDSA_SIG`].
|
||||
///
|
||||
///
|
||||
/// [`i2d_ECDSA_SIG`]: https://www.openssl.org/docs/man1.1.0/crypto/i2d_ECDSA_SIG.html
|
||||
to_der,
|
||||
ffi::i2d_ECDSA_SIG
|
||||
|
|
@ -138,6 +138,11 @@ cfg_if! {
|
|||
r: *mut ffi::BIGNUM,
|
||||
s: *mut ffi::BIGNUM,
|
||||
) -> c_int {
|
||||
if r.is_null() || s.is_null() {
|
||||
return 0;
|
||||
}
|
||||
ffi::BN_clear_free((*sig).r);
|
||||
ffi::BN_clear_free((*sig).s);
|
||||
(*sig).r = r;
|
||||
(*sig).s = s;
|
||||
1
|
||||
|
|
|
|||
Loading…
Reference in New Issue