mirror of
https://github.com/mhx/dwarfs.git
synced 2025-08-03 17:56:12 -04:00
chore(fs_section): add more info to section header error messages
This commit is contained in:
parent
d3cbb57a02
commit
5fb5ebf71b
@ -47,7 +47,9 @@ template <typename T>
|
||||
void read_section_header_common(T& header, size_t& start, mmif const& mm,
|
||||
size_t offset) {
|
||||
if (offset + sizeof(T) > mm.size()) {
|
||||
DWARFS_THROW(runtime_error, "truncated section header");
|
||||
DWARFS_THROW(runtime_error,
|
||||
fmt::format("truncated section header: {} + {} > {}", offset,
|
||||
sizeof(T), mm.size()));
|
||||
}
|
||||
|
||||
::memcpy(&header, mm.as<void>(offset), sizeof(T));
|
||||
@ -57,11 +59,13 @@ void read_section_header_common(T& header, size_t& start, mmif const& mm,
|
||||
auto end = offset + header.length;
|
||||
|
||||
if (end < offset) {
|
||||
DWARFS_THROW(runtime_error, "offset/length overflow");
|
||||
DWARFS_THROW(runtime_error,
|
||||
fmt::format("offset/length overflow: {} < {}", end, offset));
|
||||
}
|
||||
|
||||
if (end > mm.size()) {
|
||||
DWARFS_THROW(runtime_error, "truncated section data");
|
||||
DWARFS_THROW(runtime_error, fmt::format("truncated section data: {} > {}",
|
||||
end, mm.size()));
|
||||
}
|
||||
|
||||
start = offset;
|
||||
|
Loading…
x
Reference in New Issue
Block a user