Detect length field overflow in section header

This commit is contained in:
Marcus Holland-Moritz 2020-12-17 21:38:44 +01:00
parent 11bd39ddc1
commit a05f9e4bce

View File

@ -108,7 +108,13 @@ void read_section_header_common(T& header, size_t& start, mmif& mm,
offset += sizeof(T); offset += sizeof(T);
if (offset + header.length > mm.size()) { auto end = offset + header.length;
if (end < offset) {
DWARFS_THROW(runtime_error, "offset/length overflow");
}
if (end > mm.size()) {
DWARFS_THROW(runtime_error, "truncated section data"); DWARFS_THROW(runtime_error, "truncated section data");
} }