diff --git a/src/p_vmlinx.cpp b/src/p_vmlinx.cpp index 9d5ad629..b430a277 100644 --- a/src/p_vmlinx.cpp +++ b/src/p_vmlinx.cpp @@ -111,7 +111,8 @@ typename T::Shdr const *PackVmlinuxBase::getElfSections() int j; for (p = shdri, j= ehdri.e_shnum; --j>=0; ++p) { if (Shdr::SHT_STRTAB==p->sh_type - && (p->sh_size + p->sh_offset) <= (unsigned) file_size + && (p->sh_size + p->sh_offset) <= (unsigned long)file_size + && p->sh_name < p->sh_size && (10+ p->sh_name) <= p->sh_size // 1+ strlen(".shstrtab") ) { delete [] shstrtab;