diff options
author | Joe Truba <[email protected]> | 2022-11-19 21:46:49 +0000 |
---|---|---|
committer | Kazuki Yamaguchi <[email protected]> | 2022-12-23 09:39:14 +0900 |
commit | 13137236dc34e80402489de226d3671c87a24686 (patch) | |
tree | 23dd864bc1b710703c93623edfe219755a383417 /ext/openssl/ossl_pkey_ec.c | |
parent | f17448e8c3bebb724bbe5083fb7e55c17659d237 (diff) |
[ruby/openssl] raise when EC_POINT_cmp or EC_GROUP_cmp error instead of returning true
https://github.com/ruby/openssl/commit/e1e8f3cebe
Diffstat (limited to 'ext/openssl/ossl_pkey_ec.c')
-rw-r--r-- | ext/openssl/ossl_pkey_ec.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/ext/openssl/ossl_pkey_ec.c b/ext/openssl/ossl_pkey_ec.c index 06d59c2a4f..232c7980cf 100644 --- a/ext/openssl/ossl_pkey_ec.c +++ b/ext/openssl/ossl_pkey_ec.c @@ -668,10 +668,11 @@ static VALUE ossl_ec_group_eql(VALUE a, VALUE b) GetECGroup(a, group1); GetECGroup(b, group2); - if (EC_GROUP_cmp(group1, group2, ossl_bn_ctx) == 1) - return Qfalse; - - return Qtrue; + switch (EC_GROUP_cmp(group1, group2, ossl_bn_ctx)) { + case 0: return Qtrue; + case 1: return Qfalse; + default: ossl_raise(eEC_GROUP, "EC_GROUP_cmp"); + } } /* @@ -1232,10 +1233,13 @@ static VALUE ossl_ec_point_eql(VALUE a, VALUE b) GetECPoint(b, point2); GetECGroup(group_v1, group); - if (EC_POINT_cmp(group, point1, point2, ossl_bn_ctx) == 1) - return Qfalse; + switch (EC_POINT_cmp(group, point1, point2, ossl_bn_ctx)) { + case 0: return Qtrue; + case 1: return Qfalse; + default: ossl_raise(eEC_POINT, "EC_POINT_cmp"); + } - return Qtrue; + UNREACHABLE; } /* |