| Index: crypto/signature_verifier_unittest.cc
|
| diff --git a/crypto/signature_verifier_unittest.cc b/crypto/signature_verifier_unittest.cc
|
| index 332979971c6e717da4a9c88f1ad43a30f87d2e34..f6c42e0fdc7f208fe4f1c4cd71f381482ca2bf0b 100644
|
| --- a/crypto/signature_verifier_unittest.cc
|
| +++ b/crypto/signature_verifier_unittest.cc
|
| @@ -3,6 +3,8 @@
|
| // found in the LICENSE file.
|
|
|
| #include "crypto/signature_verifier.h"
|
| +
|
| +#include "base/numerics/safe_conversions.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| TEST(SignatureVerifierTest, BasicTest) {
|
| @@ -1005,36 +1007,36 @@ static bool EncodeRSAPublicKey(const std::vector<uint8>& modulus_n,
|
| public_key_info->insert(public_key_info->begin(),
|
| public_exponent_e.begin(),
|
| public_exponent_e.end());
|
| - uint8 length = public_exponent_e.size();
|
| - public_key_info->insert(public_key_info->begin(), length);
|
| + uint8 exponent_size = base::checked_cast<uint8>(public_exponent_e.size());
|
| + public_key_info->insert(public_key_info->begin(), exponent_size);
|
| public_key_info->insert(public_key_info->begin(), kIntegerTag);
|
|
|
| // Encode the modulus n as an INTEGER.
|
| public_key_info->insert(public_key_info->begin(),
|
| modulus_n.begin(), modulus_n.end());
|
| - uint16 length16 = modulus_n.size();
|
| + uint16 modulus_size = base::checked_cast<uint16>(modulus_n.size());
|
| if (modulus_n[0] & 0x80) {
|
| public_key_info->insert(public_key_info->begin(), 0x00);
|
| - length16++;
|
| + modulus_size++;
|
| }
|
| - public_key_info->insert(public_key_info->begin(), length16 & 0xff);
|
| - public_key_info->insert(public_key_info->begin(), (length16 >> 8) & 0xff);
|
| + public_key_info->insert(public_key_info->begin(), modulus_size & 0xff);
|
| + public_key_info->insert(public_key_info->begin(), (modulus_size >> 8) & 0xff);
|
| public_key_info->insert(public_key_info->begin(), 0x82);
|
| public_key_info->insert(public_key_info->begin(), kIntegerTag);
|
|
|
| // Encode the RSAPublicKey SEQUENCE.
|
| - length16 = public_key_info->size();
|
| - public_key_info->insert(public_key_info->begin(), length16 & 0xff);
|
| - public_key_info->insert(public_key_info->begin(), (length16 >> 8) & 0xff);
|
| + uint16 info_size = base::checked_cast<uint16>(public_key_info->size());
|
| + public_key_info->insert(public_key_info->begin(), info_size & 0xff);
|
| + public_key_info->insert(public_key_info->begin(), (info_size >> 8) & 0xff);
|
| public_key_info->insert(public_key_info->begin(), 0x82);
|
| public_key_info->insert(public_key_info->begin(), kSequenceTag);
|
|
|
| // Encode the BIT STRING.
|
| // Number of unused bits.
|
| public_key_info->insert(public_key_info->begin(), 0x00);
|
| - length16 = public_key_info->size();
|
| - public_key_info->insert(public_key_info->begin(), length16 & 0xff);
|
| - public_key_info->insert(public_key_info->begin(), (length16 >> 8) & 0xff);
|
| + info_size = base::checked_cast<uint16>(public_key_info->size());
|
| + public_key_info->insert(public_key_info->begin(), info_size & 0xff);
|
| + public_key_info->insert(public_key_info->begin(), (info_size >> 8) & 0xff);
|
| public_key_info->insert(public_key_info->begin(), 0x82);
|
| public_key_info->insert(public_key_info->begin(), kBitStringTag);
|
|
|
| @@ -1049,9 +1051,9 @@ static bool EncodeRSAPublicKey(const std::vector<uint8>& modulus_n,
|
| algorithm, algorithm + sizeof(algorithm));
|
|
|
| // Encode the outermost SEQUENCE.
|
| - length16 = public_key_info->size();
|
| - public_key_info->insert(public_key_info->begin(), length16 & 0xff);
|
| - public_key_info->insert(public_key_info->begin(), (length16 >> 8) & 0xff);
|
| + info_size = base::checked_cast<uint16>(public_key_info->size());
|
| + public_key_info->insert(public_key_info->begin(), info_size & 0xff);
|
| + public_key_info->insert(public_key_info->begin(), (info_size >> 8) & 0xff);
|
| public_key_info->insert(public_key_info->begin(), 0x82);
|
| public_key_info->insert(public_key_info->begin(), kSequenceTag);
|
|
|
|
|