From 73d3cc98f6231a1d93f37dac83c32a4303d57767 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Fri, 1 Apr 2005 01:07:30 +0000 Subject: [PATCH] Be a bit more robust, when encountering partition descriptors that describe partitions that are out of bounds. We simply ignore those now, instead of letting the complete scanning fail. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12206 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../partitioning_systems/intel/PartitionMapParser.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/add-ons/kernel/partitioning_systems/intel/PartitionMapParser.cpp b/src/add-ons/kernel/partitioning_systems/intel/PartitionMapParser.cpp index f04e34bdae..435ef5ed6c 100644 --- a/src/add-ons/kernel/partitioning_systems/intel/PartitionMapParser.cpp +++ b/src/add-ons/kernel/partitioning_systems/intel/PartitionMapParser.cpp @@ -76,9 +76,11 @@ PartitionMapParser::_ParsePrimary(const partition_table_sector *pts) const partition_descriptor *descriptor = &pts->table[i]; PrimaryPartition *partition = fMap->PrimaryPartitionAt(i); partition->SetTo(descriptor, 0, fBlockSize); - // fail, if location is bad + // ignore, if location is bad if (!partition->CheckLocation(fSessionSize, fBlockSize)) { - error = B_BAD_DATA; + TRACE(("intel: _ParsePrimary(): partition %ld: bad location, " + "ignoring\n")); + partition->Unset(); break; } }