From 506894b6a88c329c7bcbd626499fbbea8d332b5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Mon, 30 Aug 2010 20:21:06 +0000 Subject: [PATCH] * Return an error on initialization error. This fixes CID 1566. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38461 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../kernel/arch/x86/paging/pae/X86VMTranslationMapPAE.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/system/kernel/arch/x86/paging/pae/X86VMTranslationMapPAE.cpp b/src/system/kernel/arch/x86/paging/pae/X86VMTranslationMapPAE.cpp index 86c454efc1..9d4be80006 100644 --- a/src/system/kernel/arch/x86/paging/pae/X86VMTranslationMapPAE.cpp +++ b/src/system/kernel/arch/x86/paging/pae/X86VMTranslationMapPAE.cpp @@ -1,6 +1,6 @@ /* * Copyright 2008-2010, Ingo Weinhold, ingo_weinhold@gmx.de. - * Copyright 2002-2007, Axel Dörfler, axeld@pinc-software.de. All rights reserved. + * Copyright 2002-2010, Axel Dörfler, axeld@pinc-software.de. * Distributed under the terms of the MIT License. * * Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. @@ -147,8 +147,10 @@ X86VMTranslationMapPAE::Init(bool kernel) pae_page_directory_pointer_table_entry* pdpt = (pae_page_directory_pointer_table_entry*) method->Allocate32BitPage(physicalPDPT, pdptHandle); - if (pdpt == NULL) + if (pdpt == NULL) { free(virtualPageDirs[0]); + return B_NO_MEMORY; + } // init the PDPT entries for (int32 i = 0; i < 4; i++) {