diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2021-09-28 15:48:53 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-28 15:48:53 +0900 |
commit | 6880dbab7dba909320335c25b0e14ce7e22fa8a4 (patch) | |
tree | a471dc28f1116a15c5b53c64b459d78939de02ea /ext/openssl | |
parent | a9d7195313032d6e302999163779c6c9114acce8 (diff) | |
parent | b8eed2b9b93a98af34d14856def66ee4a062a1f9 (diff) | |
download | ruby-openssl-6880dbab7dba909320335c25b0e14ce7e22fa8a4.tar.gz |
Merge pull request #460 from rhenium/ky/pkey-ec-verify-overflow
pkey: use RSTRING_LENINT() instead of casting to int
Diffstat (limited to 'ext/openssl')
-rw-r--r-- | ext/openssl/ossl_pkey_ec.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/ext/openssl/ossl_pkey_ec.c b/ext/openssl/ossl_pkey_ec.c index 8bb61124..b47678dc 100644 --- a/ext/openssl/ossl_pkey_ec.c +++ b/ext/openssl/ossl_pkey_ec.c @@ -653,15 +653,15 @@ static VALUE ossl_ec_key_dsa_verify_asn1(VALUE self, VALUE data, VALUE sig) StringValue(data); StringValue(sig); - switch (ECDSA_verify(0, (unsigned char *) RSTRING_PTR(data), RSTRING_LENINT(data), (unsigned char *) RSTRING_PTR(sig), (int)RSTRING_LEN(sig), ec)) { - case 1: return Qtrue; - case 0: return Qfalse; - default: break; + switch (ECDSA_verify(0, (unsigned char *)RSTRING_PTR(data), RSTRING_LENINT(data), + (unsigned char *)RSTRING_PTR(sig), RSTRING_LENINT(sig), ec)) { + case 1: + return Qtrue; + case 0: + return Qfalse; + default: + ossl_raise(eECError, "ECDSA_verify"); } - - ossl_raise(eECError, "ECDSA_verify"); - - UNREACHABLE; } /* |