From bf39d3283bbc83773459ae5d399ead2bf4452fb7 Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Sun, 22 Sep 2024 16:44:54 -0400 Subject: fix mem errors --- mld/seg.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'mld/seg.c') diff --git a/mld/seg.c b/mld/seg.c index 23cf062..ba14cf9 100644 --- a/mld/seg.c +++ b/mld/seg.c @@ -43,6 +43,11 @@ static int load_shdr(struct object *obj, struct segment *seg, size_t index) } seg->name = &obj->shstrtab->data[name]; + if (seg->phdr->p_filesz != hdr->sh_size) { + ERROR("segment phdr and shdr file sizes to not match"); + return M_ERROR; + } + // map bytes uint32_t len = B32(hdr->sh_size); uint32_t off = B32(hdr->sh_offset); -- cgit v1.2.3-freya