From 8590e919fc1840756291c93809268376c7086df4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Tue, 11 May 2004 23:43:30 +0000 Subject: [PATCH] Now maintains the new preloaded_image::id field. If an image cannot be created out of a preloaded_image, its resources are freed now. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7531 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kernel/core/elf.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/kernel/core/elf.c b/src/kernel/core/elf.c index ad754af45b..864f26259e 100644 --- a/src/kernel/core/elf.c +++ b/src/kernel/core/elf.c @@ -558,6 +558,9 @@ insert_preloaded_image(struct preloaded_image *preloadedImage) goto error2; register_elf_image(image); + preloadedImage->id = image->id; + // modules_init() uses this information to get the preloaded images + return B_OK; error2: @@ -565,6 +568,11 @@ error2: error1: free(elfHeader); + // clean up preloaded image resources (this image won't be used anymore) + delete_area(preloadedImage->text_region.id); + delete_area(preloadedImage->data_region.id); + preloadedImage->id = -1; + return status; }