aboutsummaryrefslogtreecommitdiff
path: root/disassembler_elf.cc
diff options
context:
space:
mode:
authorPeter Kasting <pkasting@chromium.org>2021-06-22 18:12:04 +0000
committerCopybara-Service <copybara-worker@google.com>2021-07-25 21:33:30 -0700
commit06393f264ebccf82e7738165717cea863bcaa317 (patch)
tree7875f6c38b106f3788c311e5ba82c7f945b58188 /disassembler_elf.cc
parent3865f0bceb04ae529ba0c2d98a869a16072a90c2 (diff)
downloadzucchini-06393f264ebccf82e7738165717cea863bcaa317.tar.gz
Fix -Wc++11-narrowing: /components/zucchini
This CL was uploaded by git cl split. R=wfh@chromium.org Bug: 1216696 Change-Id: I78d558e20d5e4056b4470ff6a9b9395f72a61631 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2975779 Auto-Submit: Peter Kasting <pkasting@chromium.org> Reviewed-by: Will Harris <wfh@chromium.org> Commit-Queue: Will Harris <wfh@chromium.org> Cr-Commit-Position: refs/heads/master@{#894795} NOKEYCHECK=True GitOrigin-RevId: 3a9b13d917c7dc2de170fdbd22fa19ac376daa8d
Diffstat (limited to 'disassembler_elf.cc')
-rw-r--r--disassembler_elf.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/disassembler_elf.cc b/disassembler_elf.cc
index 37cff0b..07726a8 100644
--- a/disassembler_elf.cc
+++ b/disassembler_elf.cc
@@ -55,13 +55,17 @@ int JudgeSection(size_t image_size, const typename Traits::Elf_Shdr* section) {
}
// Examine RVA range: Reject if numerical overflow may happen.
- if (!BufferRegion{section->sh_addr, section->sh_size}.FitsIn(kSizeBound))
+ if (!BufferRegion{static_cast<size_t>(section->sh_addr),
+ static_cast<size_t>(section->sh_size)}
+ .FitsIn(kSizeBound))
return SECTION_IS_MALFORMED;
// Examine offset range: If section takes up |image| data then be stricter.
size_t offset_bound =
(section->sh_type == elf::SHT_NOBITS) ? kSizeBound : image_size;
- if (!BufferRegion{section->sh_offset, section->sh_size}.FitsIn(offset_bound))
+ if (!BufferRegion{static_cast<size_t>(section->sh_offset),
+ static_cast<size_t>(section->sh_size)}
+ .FitsIn(offset_bound))
return SECTION_IS_MALFORMED;
// Empty sections don't contribute to offset-RVA mapping. For consistency, it
@@ -283,7 +287,8 @@ bool DisassemblerElf<Traits>::ParseHeader() {
base::CheckedNumeric<offset_t> checked_segment_end = segment->p_offset;
checked_segment_end += segment->p_filesz;
if (!checked_segment_end.AssignIfValid(&segment_end) ||
- !image_.covers({segment->p_offset, segment->p_filesz})) {
+ !image_.covers({static_cast<size_t>(segment->p_offset),
+ static_cast<size_t>(segment->p_filesz)})) {
return false;
}
offset_bound = std::max(offset_bound, segment_end);