Throw in a few more checks in ElfReader

This commit is contained in:
Henrik Rydgård 2017-05-24 20:45:29 +02:00
parent 7d0cfbabe7
commit 875e7f0372

View file

@ -262,6 +262,10 @@ void ElfReader::LoadRelocations2(int rel_seg)
}else{
addr_seg = seg;
relocate_to = segmentVAddr[addr_seg];
if (!Memory::IsValidAddress(relocate_to)) {
ERROR_LOG(LOADER, "ELF: Bad address to relocate to: %08x", relocate_to);
continue;
}
if((flag&0x06)==0x00){
rel_offset = cmd;
@ -290,6 +294,10 @@ void ElfReader::LoadRelocations2(int rel_seg)
rel_offset = rel_base+segmentVAddr[off_seg];
if (!Memory::IsValidAddress(relocate_to)) {
ERROR_LOG(LOADER, "ELF: Bad rel_offset: %08x", rel_offset);
continue;
}
if((flag&0x38)==0x00){
lo16 = 0;