Parse notes only after object structure had been allocated.

Reported by: kargl
Reviewed by: kib (sans whitespace)
This commit is contained in:
Alexander Kabaev 2012-08-03 17:04:41 +00:00
parent b19ee1c6ef
commit d958a71be2

View File

@ -153,7 +153,6 @@ map_object(int fd, const char *path, const struct stat *sb)
break;
note_start = (Elf_Addr)(char *)hdr + phdr->p_offset;
note_end = note_start + phdr->p_filesz;
digest_notes(obj, note_start, note_end);
break;
}
@ -291,7 +290,8 @@ map_object(int fd, const char *path, const struct stat *sb)
obj->stack_flags = stack_flags;
obj->relro_page = obj->relocbase + trunc_page(relro_page);
obj->relro_size = round_page(relro_size);
if (note_start < note_end)
digest_notes(obj, note_start, note_end);
munmap(hdr, PAGE_SIZE);
return (obj);