Use unsigned size arguments when constructing spans
Newer versions of base::span is more strict about the signness of the
span's size. Switch to unsigned constants and add casts/checks as
needed for variables.
Bug: pdfium:2085
Change-Id: I4077f69826a89a443093695627ad82819ae3b4aa
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/112534
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fdrm/fx_crypt_unittest.cpp b/core/fdrm/fx_crypt_unittest.cpp
index f9dd66d..35eed47 100644
--- a/core/fdrm/fx_crypt_unittest.cpp
+++ b/core/fdrm/fx_crypt_unittest.cpp
@@ -56,7 +56,7 @@
TEST(FXCRYPT, MD5GenerateOneByteData) {
uint8_t digest[16];
- CRYPT_MD5Generate(pdfium::as_bytes(pdfium::make_span("a", 1)), digest);
+ CRYPT_MD5Generate(pdfium::as_bytes(pdfium::make_span("a", 1u)), digest);
static constexpr uint8_t kExpected[] = {0x0c, 0xc1, 0x75, 0xb9, 0xc0, 0xf1,
0xb6, 0xa8, 0x31, 0xc3, 0x99, 0xe2,
@@ -181,7 +181,7 @@
TEST(FXCRYPT, ContextWithStringData) {
CRYPT_md5_context ctx = CRYPT_MD5Start();
- CRYPT_MD5Update(&ctx, pdfium::as_bytes(pdfium::make_span("abc", 3)));
+ CRYPT_MD5Update(&ctx, pdfium::as_bytes(pdfium::make_span("abc", 3u)));
uint8_t digest[16];
CRYPT_MD5Finish(&ctx, digest);
diff --git a/core/fpdfapi/font/cpdf_cidfont.cpp b/core/fpdfapi/font/cpdf_cidfont.cpp
index 7d2d549..7f23f97 100644
--- a/core/fpdfapi/font/cpdf_cidfont.cpp
+++ b/core/fpdfapi/font/cpdf_cidfont.cpp
@@ -340,7 +340,7 @@
size_t ret = FX_MultiByteToWideChar(
kCharsetCodePages[static_cast<size_t>(m_pCMap->GetCoding())],
ByteStringView(reinterpret_cast<const char*>(&charcode), charsize),
- pdfium::make_span(&unicode, 1));
+ pdfium::make_span(&unicode, 1u));
return ret == 1 ? unicode : 0;
#else
if (!m_pCMap->GetEmbedMap())
@@ -387,7 +387,7 @@
size_t ret = FX_WideCharToMultiByte(
kCharsetCodePages[static_cast<size_t>(m_pCMap->GetCoding())],
WideStringView(&unicode, 1),
- pdfium::make_span(reinterpret_cast<char*>(buffer), 4));
+ pdfium::make_span(reinterpret_cast<char*>(buffer), 4u));
if (ret == 1)
return buffer[0];
if (ret == 2)
diff --git a/core/fpdfapi/page/cpdf_meshstream.cpp b/core/fpdfapi/page/cpdf_meshstream.cpp
index 6a0419e..13fa8fc 100644
--- a/core/fpdfapi/page/cpdf_meshstream.cpp
+++ b/core/fpdfapi/page/cpdf_meshstream.cpp
@@ -221,7 +221,7 @@
float result[kMaxComponents] = {};
for (const auto& func : m_funcs) {
if (func && func->CountOutputs() <= kMaxComponents)
- func->Call(pdfium::make_span(color_value, 1), result);
+ func->Call(pdfium::make_span(color_value, 1u), result);
}
m_pCS->GetRGB(result, &r, &g, &b);
diff --git a/core/fpdfapi/page/cpdf_stitchfunc.cpp b/core/fpdfapi/page/cpdf_stitchfunc.cpp
index f522bc3..0c3ebd6 100644
--- a/core/fpdfapi/page/cpdf_stitchfunc.cpp
+++ b/core/fpdfapi/page/cpdf_stitchfunc.cpp
@@ -117,6 +117,6 @@
input = Interpolate(input, m_bounds[i], m_bounds[i + 1], m_encode[i * 2],
m_encode[i * 2 + 1]);
return m_pSubFunctions[i]
- ->Call(pdfium::make_span(&input, 1), results)
+ ->Call(pdfium::make_span(&input, 1u), results)
.has_value();
}
diff --git a/core/fpdfapi/parser/cpdf_security_handler.cpp b/core/fpdfapi/parser/cpdf_security_handler.cpp
index 598e0dc..5a71ea4 100644
--- a/core/fpdfapi/parser/cpdf_security_handler.cpp
+++ b/core/fpdfapi/parser/cpdf_security_handler.cpp
@@ -55,14 +55,14 @@
ByteString okey = pEncrypt->GetByteStringFor("O");
CRYPT_MD5Update(&md5, okey.raw_span());
uint32_t perm = pEncrypt->GetIntegerFor("P");
- CRYPT_MD5Update(&md5, pdfium::as_bytes(pdfium::make_span(&perm, 1)));
+ CRYPT_MD5Update(&md5, pdfium::as_bytes(pdfium::make_span(&perm, 1u)));
if (!file_id.IsEmpty())
CRYPT_MD5Update(&md5, file_id.raw_span());
const bool is_revision_3_or_greater = pEncrypt->GetIntegerFor("R") >= 3;
if (!ignore_metadata && is_revision_3_or_greater &&
!pEncrypt->GetBooleanFor("EncryptMetadata", true)) {
constexpr uint32_t tag = 0xFFFFFFFF;
- CRYPT_MD5Update(&md5, pdfium::as_bytes(pdfium::make_span(&tag, 1)));
+ CRYPT_MD5Update(&md5, pdfium::as_bytes(pdfium::make_span(&tag, 1u)));
}
uint8_t digest[16];
CRYPT_MD5Finish(&md5, digest);
@@ -613,7 +613,7 @@
uint8_t digest[32];
CRYPT_MD5Finish(&md5, digest);
- pdfium::span<uint8_t> partial_digest_span(digest, 16);
+ pdfium::span<uint8_t> partial_digest_span(digest, 16u);
CRYPT_ArcFourCryptBlock(partial_digest_span, {m_EncryptKey, key_len});
uint8_t tempkey[32];
for (uint8_t i = 1; i <= 19; i++) {
@@ -621,7 +621,7 @@
tempkey[j] = m_EncryptKey[j] ^ i;
CRYPT_ArcFourCryptBlock(partial_digest_span, {tempkey, key_len});
}
- CRYPT_MD5Generate({digest, 16}, digest + 16);
+ CRYPT_MD5Generate({digest, 16u}, digest + 16);
pEncryptDict->SetNewFor<CPDF_String>("U", ByteString(digest, 32), false);
}
}
diff --git a/core/fpdfapi/parser/cpdf_seekablemultistream_unittest.cpp b/core/fpdfapi/parser/cpdf_seekablemultistream_unittest.cpp
index 5e63db0..4bd3d85 100644
--- a/core/fpdfapi/parser/cpdf_seekablemultistream_unittest.cpp
+++ b/core/fpdfapi/parser/cpdf_seekablemultistream_unittest.cpp
@@ -19,7 +19,7 @@
uint8_t output_buffer[16];
memset(output_buffer, 0xbd, sizeof(output_buffer));
- EXPECT_FALSE(fileread->ReadBlockAtOffset({output_buffer, 0}, 0));
+ EXPECT_FALSE(fileread->ReadBlockAtOffset({output_buffer, 0u}, 0));
EXPECT_EQ(0xbd, output_buffer[0]);
}
@@ -31,7 +31,7 @@
uint8_t output_buffer[16];
memset(output_buffer, 0xbd, sizeof(output_buffer));
- EXPECT_FALSE(fileread->ReadBlockAtOffset({output_buffer, 0}, 0));
+ EXPECT_FALSE(fileread->ReadBlockAtOffset({output_buffer, 0u}, 0));
EXPECT_EQ(0xbd, output_buffer[0]);
}
@@ -63,15 +63,15 @@
uint8_t output_buffer[16];
memset(output_buffer, 0xbd, sizeof(output_buffer));
- EXPECT_TRUE(fileread->ReadBlockAtOffset({output_buffer, 0}, 0));
+ EXPECT_TRUE(fileread->ReadBlockAtOffset({output_buffer, 0u}, 0));
EXPECT_EQ(0xbd, output_buffer[0]);
memset(output_buffer, 0xbd, sizeof(output_buffer));
- EXPECT_TRUE(fileread->ReadBlockAtOffset({output_buffer, 0}, 1));
+ EXPECT_TRUE(fileread->ReadBlockAtOffset({output_buffer, 0u}, 1));
EXPECT_EQ(0xbd, output_buffer[0]);
memset(output_buffer, 0xbd, sizeof(output_buffer));
- EXPECT_TRUE(fileread->ReadBlockAtOffset({output_buffer, 1}, 0));
+ EXPECT_TRUE(fileread->ReadBlockAtOffset({output_buffer, 1u}, 0));
EXPECT_EQ(0, memcmp(output_buffer, "o", 1));
EXPECT_EQ(0xbd, output_buffer[1]);
@@ -80,7 +80,7 @@
EXPECT_EQ(0, memcmp(output_buffer, "one two three!!!", 16));
memset(output_buffer, 0xbd, sizeof(output_buffer));
- EXPECT_TRUE(fileread->ReadBlockAtOffset({output_buffer, 10}, 2));
+ EXPECT_TRUE(fileread->ReadBlockAtOffset({output_buffer, 10u}, 2));
EXPECT_EQ(0, memcmp(output_buffer, "e two thre", 10));
EXPECT_EQ(0xbd, output_buffer[11]);
diff --git a/core/fpdfapi/parser/cpdf_syntax_parser_unittest.cpp b/core/fpdfapi/parser/cpdf_syntax_parser_unittest.cpp
index 94ab977..c176f18 100644
--- a/core/fpdfapi/parser/cpdf_syntax_parser_unittest.cpp
+++ b/core/fpdfapi/parser/cpdf_syntax_parser_unittest.cpp
@@ -16,8 +16,8 @@
{
// Empty string.
static const uint8_t data[] = "";
- CPDF_SyntaxParser parser(
- pdfium::MakeRetain<CFX_ReadOnlySpanStream>(pdfium::make_span(data, 0)));
+ CPDF_SyntaxParser parser(pdfium::MakeRetain<CFX_ReadOnlySpanStream>(
+ pdfium::make_span(data, 0u)));
EXPECT_EQ("", parser.ReadHexString());
EXPECT_EQ(0, parser.GetPos());
}
@@ -25,8 +25,8 @@
{
// Blank string.
static const uint8_t data[] = " ";
- CPDF_SyntaxParser parser(
- pdfium::MakeRetain<CFX_ReadOnlySpanStream>(pdfium::make_span(data, 2)));
+ CPDF_SyntaxParser parser(pdfium::MakeRetain<CFX_ReadOnlySpanStream>(
+ pdfium::make_span(data, 2u)));
EXPECT_EQ("", parser.ReadHexString());
EXPECT_EQ(2, parser.GetPos());
}
@@ -34,8 +34,8 @@
{
// Skips unknown characters.
static const uint8_t data[] = "z12b";
- CPDF_SyntaxParser parser(
- pdfium::MakeRetain<CFX_ReadOnlySpanStream>(pdfium::make_span(data, 4)));
+ CPDF_SyntaxParser parser(pdfium::MakeRetain<CFX_ReadOnlySpanStream>(
+ pdfium::make_span(data, 4u)));
EXPECT_EQ("\x12\xb0", parser.ReadHexString());
EXPECT_EQ(4, parser.GetPos());
}
@@ -44,7 +44,7 @@
// Skips unknown characters.
static const uint8_t data[] = "*<&*#$^&@1";
CPDF_SyntaxParser parser(pdfium::MakeRetain<CFX_ReadOnlySpanStream>(
- pdfium::make_span(data, 10)));
+ pdfium::make_span(data, 10u)));
EXPECT_EQ("\x10", parser.ReadHexString());
EXPECT_EQ(10, parser.GetPos());
}
@@ -52,8 +52,8 @@
{
// Skips unknown characters.
static const uint8_t data[] = "\x80zab";
- CPDF_SyntaxParser parser(
- pdfium::MakeRetain<CFX_ReadOnlySpanStream>(pdfium::make_span(data, 4)));
+ CPDF_SyntaxParser parser(pdfium::MakeRetain<CFX_ReadOnlySpanStream>(
+ pdfium::make_span(data, 4u)));
EXPECT_EQ("\xab", parser.ReadHexString());
EXPECT_EQ(4, parser.GetPos());
}
@@ -61,8 +61,8 @@
{
// Skips unknown characters.
static const uint8_t data[] = "\xffzab";
- CPDF_SyntaxParser parser(
- pdfium::MakeRetain<CFX_ReadOnlySpanStream>(pdfium::make_span(data, 4)));
+ CPDF_SyntaxParser parser(pdfium::MakeRetain<CFX_ReadOnlySpanStream>(
+ pdfium::make_span(data, 4u)));
EXPECT_EQ("\xab", parser.ReadHexString());
EXPECT_EQ(4, parser.GetPos());
}
@@ -70,8 +70,8 @@
{
// Regular conversion.
static const uint8_t data[] = "1A2b>abcd";
- CPDF_SyntaxParser parser(
- pdfium::MakeRetain<CFX_ReadOnlySpanStream>(pdfium::make_span(data, 9)));
+ CPDF_SyntaxParser parser(pdfium::MakeRetain<CFX_ReadOnlySpanStream>(
+ pdfium::make_span(data, 9u)));
EXPECT_EQ("\x1a\x2b", parser.ReadHexString());
EXPECT_EQ(5, parser.GetPos());
}
@@ -79,8 +79,8 @@
{
// Position out of bounds.
static const uint8_t data[] = "12ab>";
- CPDF_SyntaxParser parser(
- pdfium::MakeRetain<CFX_ReadOnlySpanStream>(pdfium::make_span(data, 5)));
+ CPDF_SyntaxParser parser(pdfium::MakeRetain<CFX_ReadOnlySpanStream>(
+ pdfium::make_span(data, 5u)));
parser.SetPos(5);
EXPECT_EQ("", parser.ReadHexString());
@@ -98,8 +98,8 @@
{
// Missing ending >.
static const uint8_t data[] = "1A2b";
- CPDF_SyntaxParser parser(
- pdfium::MakeRetain<CFX_ReadOnlySpanStream>(pdfium::make_span(data, 4)));
+ CPDF_SyntaxParser parser(pdfium::MakeRetain<CFX_ReadOnlySpanStream>(
+ pdfium::make_span(data, 4u)));
EXPECT_EQ("\x1a\x2b", parser.ReadHexString());
EXPECT_EQ(4, parser.GetPos());
}
@@ -107,8 +107,8 @@
{
// Missing ending >.
static const uint8_t data[] = "12abz";
- CPDF_SyntaxParser parser(
- pdfium::MakeRetain<CFX_ReadOnlySpanStream>(pdfium::make_span(data, 5)));
+ CPDF_SyntaxParser parser(pdfium::MakeRetain<CFX_ReadOnlySpanStream>(
+ pdfium::make_span(data, 5u)));
EXPECT_EQ("\x12\xab", parser.ReadHexString());
EXPECT_EQ(5, parser.GetPos());
}
@@ -116,8 +116,8 @@
{
// Uneven number of bytes.
static const uint8_t data[] = "1A2>asdf";
- CPDF_SyntaxParser parser(
- pdfium::MakeRetain<CFX_ReadOnlySpanStream>(pdfium::make_span(data, 8)));
+ CPDF_SyntaxParser parser(pdfium::MakeRetain<CFX_ReadOnlySpanStream>(
+ pdfium::make_span(data, 8u)));
EXPECT_EQ("\x1a\x20", parser.ReadHexString());
EXPECT_EQ(4, parser.GetPos());
}
@@ -125,8 +125,8 @@
{
// Uneven number of bytes.
static const uint8_t data[] = "1A2zasdf";
- CPDF_SyntaxParser parser(
- pdfium::MakeRetain<CFX_ReadOnlySpanStream>(pdfium::make_span(data, 8)));
+ CPDF_SyntaxParser parser(pdfium::MakeRetain<CFX_ReadOnlySpanStream>(
+ pdfium::make_span(data, 8u)));
EXPECT_EQ("\x1a\x2a\xdf", parser.ReadHexString());
EXPECT_EQ(8, parser.GetPos());
}
@@ -134,8 +134,8 @@
{
// Just ending character.
static const uint8_t data[] = ">";
- CPDF_SyntaxParser parser(
- pdfium::MakeRetain<CFX_ReadOnlySpanStream>(pdfium::make_span(data, 1)));
+ CPDF_SyntaxParser parser(pdfium::MakeRetain<CFX_ReadOnlySpanStream>(
+ pdfium::make_span(data, 1u)));
EXPECT_EQ("", parser.ReadHexString());
EXPECT_EQ(1, parser.GetPos());
}
@@ -145,7 +145,7 @@
// Data with a reference with number CPDF_Object::kInvalidObjNum
static const uint8_t data[] = "4294967295 0 R";
CPDF_SyntaxParser parser(
- pdfium::MakeRetain<CFX_ReadOnlySpanStream>(pdfium::make_span(data, 14)));
+ pdfium::MakeRetain<CFX_ReadOnlySpanStream>(pdfium::make_span(data, 14u)));
RetainPtr<CPDF_Object> ref = parser.GetObjectBody(nullptr);
EXPECT_FALSE(ref);
}
diff --git a/core/fpdfapi/render/cpdf_docrenderdata.cpp b/core/fpdfapi/render/cpdf_docrenderdata.cpp
index e63d54d..db0af09 100644
--- a/core/fpdfapi/render/cpdf_docrenderdata.cpp
+++ b/core/fpdfapi/render/cpdf_docrenderdata.cpp
@@ -115,7 +115,7 @@
samples[i][v] = v;
continue;
}
- pFuncs[i]->Call(pdfium::make_span(&input, 1), output);
+ pFuncs[i]->Call(pdfium::make_span(&input, 1u), output);
size_t o = FXSYS_roundf(output[0] * 255);
if (o != v)
bIdentity = false;
@@ -126,7 +126,7 @@
for (size_t v = 0; v < CPDF_TransferFunc::kChannelSampleSize; ++v) {
float input = static_cast<float>(v) / 255.0f;
if (pFuncs[0]->CountOutputs() <= kMaxOutputs)
- pFuncs[0]->Call(pdfium::make_span(&input, 1), output);
+ pFuncs[0]->Call(pdfium::make_span(&input, 1u), output);
size_t o = FXSYS_roundf(output[0] * 255);
if (o != v)
bIdentity = false;
diff --git a/core/fpdfapi/render/cpdf_rendershading.cpp b/core/fpdfapi/render/cpdf_rendershading.cpp
index a0965aa..3ccd634 100644
--- a/core/fpdfapi/render/cpdf_rendershading.cpp
+++ b/core/fpdfapi/render/cpdf_rendershading.cpp
@@ -77,7 +77,7 @@
if (!func)
continue;
absl::optional<uint32_t> nresults =
- func->Call(pdfium::make_span(&input, 1), result_span);
+ func->Call(pdfium::make_span(&input, 1u), result_span);
if (nresults.has_value())
result_span = result_span.subspan(nresults.value());
}
diff --git a/core/fpdfapi/render/cpdf_renderstatus.cpp b/core/fpdfapi/render/cpdf_renderstatus.cpp
index 7ae3655..53a1244 100644
--- a/core/fpdfapi/render/cpdf_renderstatus.cpp
+++ b/core/fpdfapi/render/cpdf_renderstatus.cpp
@@ -1379,7 +1379,7 @@
std::vector<float> results(pFunc->CountOutputs());
for (size_t i = 0; i < transfers.size(); ++i) {
float input = i / 255.0f;
- pFunc->Call(pdfium::make_span(&input, 1), results);
+ pFunc->Call(pdfium::make_span(&input, 1u), results);
transfers[i] = FXSYS_roundf(results[0] * 255);
}
} else {
diff --git a/core/fxcodec/bmp/cfx_bmpdecompressor.cpp b/core/fxcodec/bmp/cfx_bmpdecompressor.cpp
index b7fdc84..7e63423 100644
--- a/core/fxcodec/bmp/cfx_bmpdecompressor.cpp
+++ b/core/fxcodec/bmp/cfx_bmpdecompressor.cpp
@@ -90,7 +90,7 @@
BmpDecoder::Status CFX_BmpDecompressor::ReadBmpHeader() {
BmpFileHeader bmp_header;
if (!ReadAllOrNone(
- pdfium::as_writable_bytes(pdfium::make_span(&bmp_header, 1)))) {
+ pdfium::as_writable_bytes(pdfium::make_span(&bmp_header, 1u)))) {
return BmpDecoder::Status::kContinue;
}
@@ -105,7 +105,7 @@
size_t pos = input_buffer_->GetPosition();
if (!ReadAllOrNone(
- pdfium::as_writable_bytes(pdfium::make_span(&img_ifh_size_, 1)))) {
+ pdfium::as_writable_bytes(pdfium::make_span(&img_ifh_size_, 1u)))) {
return BmpDecoder::Status::kContinue;
}
if (!input_buffer_->Seek(pos))
@@ -126,7 +126,7 @@
pal_type_ = PalType::kOld;
BmpCoreHeader bmp_core_header;
if (!ReadAllOrNone(pdfium::as_writable_bytes(
- pdfium::make_span(&bmp_core_header, 1)))) {
+ pdfium::make_span(&bmp_core_header, 1u)))) {
return BmpDecoder::Status::kContinue;
}
@@ -144,7 +144,7 @@
if (img_ifh_size_ == kBmpInfoHeaderSize) {
BmpInfoHeader bmp_info_header;
if (!ReadAllOrNone(pdfium::as_writable_bytes(
- pdfium::make_span(&bmp_info_header, 1)))) {
+ pdfium::make_span(&bmp_info_header, 1u)))) {
return BmpDecoder::Status::kContinue;
}
@@ -173,7 +173,7 @@
FX_SAFE_SIZE_T new_pos = input_buffer_->GetPosition();
BmpInfoHeader bmp_info_header;
if (!ReadAllOrNone(
- pdfium::as_writable_bytes(pdfium::make_span(&bmp_info_header, 1)))) {
+ pdfium::as_writable_bytes(pdfium::make_span(&bmp_info_header, 1u)))) {
return BmpDecoder::Status::kContinue;
}
@@ -461,13 +461,15 @@
uint8_t first_part;
col_num_ = 0;
while (true) {
- if (!ReadAllOrNone(pdfium::make_span(&first_part, 1)))
+ if (!ReadAllOrNone(pdfium::make_span(&first_part, 1u))) {
return BmpDecoder::Status::kContinue;
+ }
switch (first_part) {
case kRleMarker: {
- if (!ReadAllOrNone(pdfium::make_span(&first_part, 1)))
+ if (!ReadAllOrNone(pdfium::make_span(&first_part, 1u))) {
return BmpDecoder::Status::kContinue;
+ }
switch (first_part) {
case kRleEol: {
@@ -535,8 +537,9 @@
return BmpDecoder::Status::kFail;
uint8_t second_part;
- if (!ReadAllOrNone(pdfium::make_span(&second_part, 1)))
+ if (!ReadAllOrNone(pdfium::make_span(&second_part, 1u))) {
return BmpDecoder::Status::kContinue;
+ }
fxcrt::spanset(
pdfium::make_span(out_row_buffer_).subspan(col_num_, first_part),
@@ -554,13 +557,15 @@
uint8_t first_part;
col_num_ = 0;
while (true) {
- if (!ReadAllOrNone(pdfium::make_span(&first_part, 1)))
+ if (!ReadAllOrNone(pdfium::make_span(&first_part, 1u))) {
return BmpDecoder::Status::kContinue;
+ }
switch (first_part) {
case kRleMarker: {
- if (!ReadAllOrNone(pdfium::make_span(&first_part, 1)))
+ if (!ReadAllOrNone(pdfium::make_span(&first_part, 1u))) {
return BmpDecoder::Status::kContinue;
+ }
switch (first_part) {
case kRleEol: {
@@ -641,8 +646,9 @@
first_part = avail_size - 1;
}
uint8_t second_part;
- if (!ReadAllOrNone(pdfium::make_span(&second_part, 1)))
+ if (!ReadAllOrNone(pdfium::make_span(&second_part, 1u))) {
return BmpDecoder::Status::kContinue;
+ }
for (uint8_t i = 0; i < first_part; i++) {
uint8_t second_byte = second_part;
diff --git a/core/fxcodec/gif/cfx_gifcontext_unittest.cpp b/core/fxcodec/gif/cfx_gifcontext_unittest.cpp
index ad731bb..56318fe 100644
--- a/core/fxcodec/gif/cfx_gifcontext_unittest.cpp
+++ b/core/fxcodec/gif/cfx_gifcontext_unittest.cpp
@@ -36,15 +36,15 @@
uint8_t buffer[] = {0x00, 0x01, 0x02};
CFX_GifContextForTest context;
- context.SetTestInputBuffer({nullptr, 0});
+ context.SetTestInputBuffer({nullptr, 0u});
EXPECT_EQ(0u, context.InputBuffer()->GetSize());
EXPECT_EQ(0u, context.InputBuffer()->GetPosition());
- context.SetTestInputBuffer({buffer, 0});
+ context.SetTestInputBuffer({buffer, 0u});
EXPECT_EQ(0u, context.InputBuffer()->GetSize());
EXPECT_EQ(0u, context.InputBuffer()->GetPosition());
- context.SetTestInputBuffer({buffer, 3});
+ context.SetTestInputBuffer({buffer, 3u});
EXPECT_EQ(3u, context.InputBuffer()->GetSize());
EXPECT_EQ(0u, context.InputBuffer()->GetPosition());
}
@@ -55,18 +55,18 @@
0x05, 0x06, 0x07, 0x08, 0x09};
CFX_GifContextForTest context;
- context.SetTestInputBuffer({nullptr, 0});
+ context.SetTestInputBuffer({nullptr, 0u});
EXPECT_FALSE(context.ReadAllOrNone(nullptr, 0));
EXPECT_FALSE(context.ReadAllOrNone(nullptr, 10));
EXPECT_FALSE(context.ReadAllOrNone(dest_buffer.data(), 0));
EXPECT_FALSE(context.ReadAllOrNone(dest_buffer.data(), 10));
- context.SetTestInputBuffer({src_buffer, 0});
+ context.SetTestInputBuffer({src_buffer, 0u});
dest_buffer.resize(sizeof(src_buffer));
EXPECT_FALSE(context.ReadAllOrNone(dest_buffer.data(), sizeof(src_buffer)));
- context.SetTestInputBuffer({src_buffer, 1});
+ context.SetTestInputBuffer({src_buffer, 1u});
EXPECT_FALSE(context.ReadAllOrNone(dest_buffer.data(), sizeof(src_buffer)));
EXPECT_EQ(0u, context.InputBuffer()->GetPosition());
EXPECT_FALSE(context.ReadAllOrNone(nullptr, sizeof(src_buffer)));
@@ -91,7 +91,7 @@
CFX_GifContextForTest context;
{
uint8_t data[1];
- context.SetTestInputBuffer({data, 0});
+ context.SetTestInputBuffer({data, 0u});
EXPECT_EQ(GifDecoder::Status::kUnfinished, context.ReadGifSignature());
EXPECT_EQ(0u, context.InputBuffer()->GetPosition());
context.SetTestInputBuffer({});
@@ -149,7 +149,7 @@
CFX_GifContextForTest context;
{
uint8_t data[1];
- context.SetTestInputBuffer({data, 0});
+ context.SetTestInputBuffer({data, 0u});
EXPECT_EQ(GifDecoder::Status::kUnfinished,
context.ReadLogicalScreenDescriptor());
context.SetTestInputBuffer({});
diff --git a/core/fxcrt/binary_buffer.cpp b/core/fxcrt/binary_buffer.cpp
index 341d4c0..8d3335e 100644
--- a/core/fxcrt/binary_buffer.cpp
+++ b/core/fxcrt/binary_buffer.cpp
@@ -104,7 +104,7 @@
}
void BinaryBuffer::AppendUint8(uint8_t value) {
- AppendSpan({&value, 1});
+ AppendSpan({&value, 1u});
}
void BinaryBuffer::AppendUint16(uint16_t value) {
diff --git a/core/fxcrt/bytestring_unittest.cpp b/core/fxcrt/bytestring_unittest.cpp
index 9d2f132..2fc83bd 100644
--- a/core/fxcrt/bytestring_unittest.cpp
+++ b/core/fxcrt/bytestring_unittest.cpp
@@ -1204,7 +1204,7 @@
ByteStringView string3("abc");
ByteStringView string6("abcdef");
ByteStringView alternate_string3("abcdef", 3);
- ByteStringView span_string4(pdfium::as_bytes(pdfium::make_span("abcd", 4)));
+ ByteStringView span_string4(pdfium::as_bytes(pdfium::make_span("abcd", 4u)));
ByteStringView embedded_nul_string7("abc\0def", 7);
ByteStringView illegal_string7("abcdef", 7);
@@ -1519,7 +1519,7 @@
EXPECT_FALSE(c_string3 == byte_string_c);
pdfium::span<const uint8_t> span5(
- pdfium::as_bytes(pdfium::make_span("hello", 5)));
+ pdfium::as_bytes(pdfium::make_span("hello", 5u)));
EXPECT_EQ(byte_string_c.raw_span(), span5);
}
diff --git a/core/fxcrt/fx_stream.cpp b/core/fxcrt/fx_stream.cpp
index 1ceb539..63ce068 100644
--- a/core/fxcrt/fx_stream.cpp
+++ b/core/fxcrt/fx_stream.cpp
@@ -49,7 +49,7 @@
}
bool IFX_WriteStream::WriteByte(uint8_t byte) {
- return WriteBlock({&byte, 1});
+ return WriteBlock({&byte, 1u});
}
bool IFX_WriteStream::WriteDWord(uint32_t i) {
diff --git a/core/fxcrt/string_view_template.h b/core/fxcrt/string_view_template.h
index 475490f..628bb79 100644
--- a/core/fxcrt/string_view_template.h
+++ b/core/fxcrt/string_view_template.h
@@ -74,7 +74,7 @@
// |ch| must be an lvalue that outlives the StringViewTemplate.
// NOLINTNEXTLINE(runtime/explicit)
constexpr StringViewTemplate(const CharType& ch) noexcept
- : m_Span(reinterpret_cast<const UnsignedType*>(&ch), 1) {}
+ : m_Span(reinterpret_cast<const UnsignedType*>(&ch), 1u) {}
StringViewTemplate& operator=(const CharType* src) {
m_Span = pdfium::span<const UnsignedType>(
diff --git a/core/fxge/win32/cwin32_platform.cpp b/core/fxge/win32/cwin32_platform.cpp
index 428f132..0d08822 100644
--- a/core/fxge/win32/cwin32_platform.cpp
+++ b/core/fxge/win32/cwin32_platform.cpp
@@ -159,7 +159,7 @@
size_t font_size = GetFontData(hFont, 0, {});
if (font_size != GDI_ERROR && font_size >= sizeof(uint32_t)) {
uint32_t header;
- auto span = pdfium::as_writable_bytes(pdfium::make_span(&header, 1));
+ auto span = pdfium::as_writable_bytes(pdfium::make_span(&header, 1u));
GetFontData(hFont, 0, span);
header = FXSYS_UINT32_GET_MSBFIRST(span);
ret = header == FXBSTR_ID('O', 'T', 'T', 'O') ||
diff --git a/fpdfsdk/fpdf_edittext.cpp b/fpdfsdk/fpdf_edittext.cpp
index 55ac4f7..78f26c5 100644
--- a/fpdfsdk/fpdf_edittext.cpp
+++ b/fpdfsdk/fpdf_edittext.cpp
@@ -829,7 +829,7 @@
uint32_t charcode = pFont->CharCodeFromUnicode(static_cast<wchar_t>(glyph));
std::vector<TextCharPos> pos =
- GetCharPosList(pdfium::make_span(&charcode, 1),
+ GetCharPosList(pdfium::make_span(&charcode, 1u),
pdfium::span<const float>(), pFont, font_size);
if (pos.empty())
return nullptr;
diff --git a/fpdfsdk/fpdf_view.cpp b/fpdfsdk/fpdf_view.cpp
index 958d361..4655fe5 100644
--- a/fpdfsdk/fpdf_view.cpp
+++ b/fpdfsdk/fpdf_view.cpp
@@ -316,9 +316,13 @@
FPDF_EXPORT FPDF_DOCUMENT FPDF_CALLCONV
FPDF_LoadMemDocument(const void* data_buf, int size, FPDF_BYTESTRING password) {
+ if (size < 0) {
+ return nullptr;
+ }
+
return LoadDocumentImpl(
- pdfium::MakeRetain<CFX_ReadOnlySpanStream>(
- pdfium::make_span(static_cast<const uint8_t*>(data_buf), size)),
+ pdfium::MakeRetain<CFX_ReadOnlySpanStream>(pdfium::make_span(
+ static_cast<const uint8_t*>(data_buf), static_cast<size_t>(size))),
password);
}
diff --git a/samples/helpers/write.cc b/samples/helpers/write.cc
index ea1c763..d964523 100644
--- a/samples/helpers/write.cc
+++ b/samples/helpers/write.cc
@@ -458,8 +458,8 @@
return "";
}
- auto input =
- pdfium::make_span(static_cast<uint8_t*>(buffer), stride * height);
+ auto input = pdfium::make_span(static_cast<uint8_t*>(buffer),
+ static_cast<size_t>(stride) * height);
std::vector<uint8_t> png_encoding =
EncodePng(input, width, height, stride, FPDFBitmap_BGRA);
if (png_encoding.empty()) {
@@ -705,7 +705,7 @@
auto input = pdfium::make_span(
static_cast<const uint8_t*>(FPDFBitmap_GetBuffer(bitmap.get())),
- stride * height);
+ static_cast<size_t>(stride) * height);
png_encoding = EncodePng(input, width, height, stride, format);
return png_encoding;
diff --git a/testing/embedder_test.cpp b/testing/embedder_test.cpp
index c9919d3..80b1578 100644
--- a/testing/embedder_test.cpp
+++ b/testing/embedder_test.cpp
@@ -783,8 +783,9 @@
int usable_bytes_per_row =
GetBitmapBytesPerPixel(bitmap) * FPDFBitmap_GetWidth(bitmap);
int height = FPDFBitmap_GetHeight(bitmap);
- auto span = pdfium::make_span(
- static_cast<uint8_t*>(FPDFBitmap_GetBuffer(bitmap)), stride * height);
+ auto span =
+ pdfium::make_span(static_cast<uint8_t*>(FPDFBitmap_GetBuffer(bitmap)),
+ static_cast<size_t>(stride) * height);
CRYPT_md5_context context = CRYPT_MD5Start();
for (int i = 0; i < height; ++i)
diff --git a/xfa/fde/cfde_textout.cpp b/xfa/fde/cfde_textout.cpp
index be60c3a..bc6aa0e 100644
--- a/xfa/fde/cfde_textout.cpp
+++ b/xfa/fde/cfde_textout.cpp
@@ -73,7 +73,7 @@
RetainPtr<CFGAS_GEFont> pCurFont;
TextCharPos* pCurCP = nullptr;
- int32_t iCurCount = 0;
+ size_t count = 0;
static constexpr CFX_TextRenderOptions kOptions(CFX_TextRenderOptions::kLcd);
for (auto& pos : pCharPos) {
RetainPtr<CFGAS_GEFont> pSTFont =
@@ -93,19 +93,19 @@
font = pFxFont;
#endif
- device->DrawNormalText(pdfium::make_span(pCurCP, iCurCount), font,
+ device->DrawNormalText(pdfium::make_span(pCurCP, count), font,
-fFontSize, matrix, color, kOptions);
}
pCurFont = pSTFont;
pCurCP = &pos;
- iCurCount = 1;
+ count = 1;
} else {
- ++iCurCount;
+ ++count;
}
}
bool bRet = true;
- if (pCurFont && iCurCount) {
+ if (pCurFont && count) {
pFxFont = pCurFont->GetDevFont();
CFX_Font* font;
#if !BUILDFLAG(IS_WIN)
@@ -116,7 +116,7 @@
font = pFxFont;
#endif
- bRet = device->DrawNormalText(pdfium::make_span(pCurCP, iCurCount), font,
+ bRet = device->DrawNormalText(pdfium::make_span(pCurCP, count), font,
-fFontSize, matrix, color, kOptions);
}