Fix integer overflow in very long sections in ELF objects

The source is an ElfXX_Off, which is an unsigned 32- or 64-bit. That
means any section bigger than 2 GB would cause an overflow when we
assigned in

    m_stringTableFileOffset = strtab.offset;

Change-Id: Ib47c56818178458a88b4fffd15546bd47a89894e
Fixes: QTBUG-70560
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
This commit is contained in:
Thiago Macieira 2018-09-14 17:38:53 -07:00
parent 1511bfef52
commit cb5c24fa26

View File

@ -84,7 +84,7 @@ public:
int m_endian;
int m_bits;
int m_stringTableFileOffset;
qelfoff_t m_stringTableFileOffset;
template <typename T>
T read(const char *s)