From 9d60b8c5426660a1791edeafa40b89335d706633 Mon Sep 17 00:00:00 2001 From: marcel Date: Sat, 19 Oct 2002 05:01:54 +0000 Subject: In link_elf_load_file(), when SPARSE_MAPPING is defined and we cannot allocate ef->object, we freed ef before bailing out with an error. This is wrong because ef=lf and when we have an error and lf is non-NULL (which holds if we try to alloc ef->object), we free lf and thus ef as part of the bailing-out. --- sys/kern/link_elf.c | 1 - 1 file changed, 1 deletion(-) (limited to 'sys/kern/link_elf.c') diff --git a/sys/kern/link_elf.c b/sys/kern/link_elf.c index a2ba84e..596089a 100644 --- a/sys/kern/link_elf.c +++ b/sys/kern/link_elf.c @@ -671,7 +671,6 @@ link_elf_load_file(linker_class_t cls, const char* filename, linker_file_t* resu #ifdef SPARSE_MAPPING ef->object = vm_object_allocate(OBJT_DEFAULT, mapsize >> PAGE_SHIFT); if (ef->object == NULL) { - free(ef, M_LINKER); error = ENOMEM; goto out; } -- cgit v1.1