Added `BN_CTX_end` call before `BN_CTX_free` to keep the pattern
consistent with functions like `sm2_sig_verify`, `sm2_sig_gen`,
for instance.
Added missing `BN_CTX_start()` and `BN_CTX_end()` calls in
`ossl_sm2_compute_z_digest`. Fixed formatting.
Fixes: 3d328a445c2a "Add SM2 signature and ECIES schemes"
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.foundation>
MergeDate: Wed May 13 07:24:17 2026
(Merged from https://github.com/openssl/openssl/pull/31069)
OPENSSL_free(x2y2);
OPENSSL_free(C3);
EVP_MD_CTX_free(hash);
+ BN_CTX_end(ctx);
BN_CTX_free(ctx);
EC_POINT_free(kG);
EC_POINT_free(kP);
OPENSSL_free(x2y2);
OPENSSL_free(computed_C3);
EC_POINT_free(C1);
+ BN_CTX_end(ctx);
BN_CTX_free(ctx);
SM2_Ciphertext_free(sm2_ctext);
EVP_MD_CTX_free(hash);
goto done;
}
+ BN_CTX_start(ctx);
p = BN_CTX_get(ctx);
a = BN_CTX_get(ctx);
b = BN_CTX_get(ctx);
done:
OPENSSL_free(buf);
+ BN_CTX_end(ctx);
BN_CTX_free(ctx);
EVP_MD_CTX_free(hash);
return rc;
BN_free(s);
}
+ BN_CTX_end(ctx);
BN_CTX_free(ctx);
EC_POINT_free(kG);
return sig;
ret = 1;
done:
- BN_CTX_end(ctx);
EC_POINT_free(pt);
+ BN_CTX_end(ctx);
BN_CTX_free(ctx);
return ret;
}