Index: crypto/signature_verifier.cc |
diff --git a/crypto/signature_verifier.cc b/crypto/signature_verifier.cc |
index 852f822fcc66e5994e5b876129f30297ec267e63..2a9f08797295025d69eb479c92bcbe3e648ed012 100644 |
--- a/crypto/signature_verifier.cc |
+++ b/crypto/signature_verifier.cc |
@@ -10,6 +10,7 @@ |
#include <vector> |
#include "base/logging.h" |
+#include "base/numerics/safe_conversions.h" |
#include "crypto/openssl_util.h" |
#include "third_party/boringssl/src/include/openssl/bytestring.h" |
#include "third_party/boringssl/src/include/openssl/digest.h" |
@@ -42,9 +43,9 @@ SignatureVerifier::~SignatureVerifier() {} |
bool SignatureVerifier::VerifyInit(SignatureAlgorithm signature_algorithm, |
const uint8_t* signature, |
- int signature_len, |
+ size_t signature_len, |
const uint8_t* public_key_info, |
- int public_key_info_len) { |
+ size_t public_key_info_len) { |
int pkey_type = EVP_PKEY_NONE; |
const EVP_MD* digest = nullptr; |
switch (signature_algorithm) { |
@@ -70,11 +71,11 @@ bool SignatureVerifier::VerifyInit(SignatureAlgorithm signature_algorithm, |
bool SignatureVerifier::VerifyInitRSAPSS(HashAlgorithm hash_alg, |
HashAlgorithm mask_hash_alg, |
- int salt_len, |
+ size_t salt_len, |
const uint8_t* signature, |
- int signature_len, |
+ size_t signature_len, |
const uint8_t* public_key_info, |
- int public_key_info_len) { |
+ size_t public_key_info_len) { |
OpenSSLErrStackTracer err_tracer(FROM_HERE); |
const EVP_MD* const digest = ToOpenSSLDigest(hash_alg); |
DCHECK(digest); |
@@ -97,15 +98,16 @@ bool SignatureVerifier::VerifyInitRSAPSS(HashAlgorithm hash_alg, |
return false; |
} |
return EVP_PKEY_CTX_set_rsa_mgf1_md(pkey_ctx, mgf_digest) && |
- EVP_PKEY_CTX_set_rsa_pss_saltlen(pkey_ctx, salt_len); |
+ EVP_PKEY_CTX_set_rsa_pss_saltlen(pkey_ctx, |
+ base::checked_cast<int>(salt_len)); |
davidben
2017/03/23 19:16:57
This is an int because -1 and -2 are magic values
|
} |
void SignatureVerifier::VerifyUpdate(const uint8_t* data_part, |
- int data_part_len) { |
+ size_t data_part_len) { |
DCHECK(verify_context_); |
OpenSSLErrStackTracer err_tracer(FROM_HERE); |
- int rv = EVP_DigestVerifyUpdate(verify_context_->ctx.get(), |
- data_part, data_part_len); |
+ int rv = EVP_DigestVerifyUpdate(verify_context_->ctx.get(), data_part, |
+ data_part_len); |
DCHECK_EQ(rv, 1); |
} |
@@ -122,9 +124,9 @@ bool SignatureVerifier::VerifyFinal() { |
bool SignatureVerifier::CommonInit(int pkey_type, |
const EVP_MD* digest, |
const uint8_t* signature, |
- int signature_len, |
+ size_t signature_len, |
const uint8_t* public_key_info, |
- int public_key_info_len, |
+ size_t public_key_info_len, |
EVP_PKEY_CTX** pkey_ctx) { |
if (verify_context_) |
return false; |