Author: axeld Date: 2010-08-30 22:21:06 +0200 (Mon, 30 Aug 2010) New Revision: 38461 Changeset: http://dev.haiku-os.org/changeset/38461 Modified: haiku/trunk/src/system/kernel/arch/x86/paging/pae/X86VMTranslationMapPAE.cpp Log: * Return an error on initialization error. This fixes CID 1566. Modified: haiku/trunk/src/system/kernel/arch/x86/paging/pae/X86VMTranslationMapPAE.cpp =================================================================== --- haiku/trunk/src/system/kernel/arch/x86/paging/pae/X86VMTranslationMapPAE.cpp 2010-08-30 20:06:52 UTC (rev 38460) +++ haiku/trunk/src/system/kernel/arch/x86/paging/pae/X86VMTranslationMapPAE.cpp 2010-08-30 20:21:06 UTC (rev 38461) @@ -1,6 +1,6 @@ /* * Copyright 2008-2010, Ingo Weinhold, ingo_weinhold@xxxxxxx - * Copyright 2002-2007, Axel Dörfler, axeld@xxxxxxxxxxxxxxxxx All rights reserved. + * Copyright 2002-2010, Axel Dörfler, axeld@xxxxxxxxxxxxxxxxx * Distributed under the terms of the MIT License. * * Copyright 2001-2002, Travis Geiselbrecht. All rights reserved. @@ -147,8 +147,10 @@ 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++) {