From 186ef14d1a5ef23d04684a4548d8c1e7cdc62d15 Mon Sep 17 00:00:00 2001 From: Etienne Pierre-doray Date: Tue, 11 Sep 2018 13:40:46 +0000 Subject: [Zucchini]: Fix implicit conversions. Fix compile error with -Wshorten-64-to-32. Bug: 881008 Change-Id: I52a1bab9cb7b4cb67ea4c275143390d42b192120 Reviewed-on: https://chromium-review.googlesource.com/1216524 Reviewed-by: Will Harris Reviewed-by: Samuel Huang Commit-Queue: Etienne Pierre-Doray Cr-Commit-Position: refs/heads/master@{#590285} NOKEYCHECK=True GitOrigin-RevId: f6c70a2cc49b3a1765aa38763532e948c48a65a1 --- reloc_win32.cc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'reloc_win32.cc') diff --git a/reloc_win32.cc b/reloc_win32.cc index 2f993ad..dcf40bb 100644 --- a/reloc_win32.cc +++ b/reloc_win32.cc @@ -40,7 +40,8 @@ bool RelocRvaReaderWin32::FindRelocBlocks( ConstBufferView reloc_data = image[reloc_region]; reloc_block_offsets->clear(); while (reloc_data.size() >= sizeof(pe::RelocHeader)) { - reloc_block_offsets->push_back(reloc_data.begin() - image.begin()); + reloc_block_offsets->push_back( + base::checked_cast(reloc_data.begin() - image.begin())); auto size = reloc_data.read(0).size; // |size| must be aligned to 4-bytes. if (size < sizeof(pe::RelocHeader) || size % 4 || size > reloc_data.size()) @@ -78,7 +79,8 @@ RelocRvaReaderWin32::RelocRvaReaderWin32( return; // Nothing left. // Skip |cur_reloc_units_| to |lo|, truncating up. - offset_t cur_reloc_units_offset = cur_reloc_units_.begin() - image_.begin(); + offset_t cur_reloc_units_offset = + base::checked_cast(cur_reloc_units_.begin() - image_.begin()); if (lo > cur_reloc_units_offset) { offset_t delta = AlignCeil(lo - cur_reloc_units_offset, kRelocUnitSize); @@ -100,7 +102,8 @@ base::Optional RelocRvaReaderWin32::GetNext() { if (end_it_ - cur_reloc_units_.begin() < kRelocUnitSize) return base::nullopt; // "Inner loop" to extract single reloc unit. - offset_t location = cur_reloc_units_.begin() - image_.begin(); + offset_t location = + base::checked_cast(cur_reloc_units_.begin() - image_.begin()); uint16_t entry = cur_reloc_units_.read(0); uint8_t type = static_cast(entry >> 12); rva_t rva = rva_hi_bits_ + (entry & 0xFFF); -- cgit v1.2.3