mirror of
https://github.com/radareorg/radare2.git
synced 2025-04-01 17:11:51 +00:00
Fix oobread icin mach0 parser
This commit is contained in:
parent
2307f7f5c0
commit
e9b147f4cd
@ -202,16 +202,20 @@ static void process_constructors(RBinFile *bf, RList *ret, int bits) {
|
||||
continue;
|
||||
}
|
||||
if (bits == 32) {
|
||||
for (i = 0; i < sec->size; i += 4) {
|
||||
for (i = 0; i + 3 < sec->size; i += 4) {
|
||||
ut32 addr32 = r_read_le32 (buf + i);
|
||||
RBinAddr *ba = newEntry (sec->paddr + i, (ut64)addr32, type, bits);
|
||||
r_list_append (ret, ba);
|
||||
if (ba) {
|
||||
r_list_append (ret, ba);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (i = 0; i < sec->size; i += 8) {
|
||||
for (i = 0; i + 7 < sec->size; i += 8) {
|
||||
ut64 addr64 = r_read_le64 (buf + i);
|
||||
RBinAddr *ba = newEntry (sec->paddr + i, addr64, type, bits);
|
||||
r_list_append (ret, ba);
|
||||
if (ba) {
|
||||
r_list_append (ret, ba);
|
||||
}
|
||||
}
|
||||
}
|
||||
free (buf);
|
||||
|
Loading…
x
Reference in New Issue
Block a user