From aa8eda4f97f43a51bfec4fc096635565617a89e0 Mon Sep 17 00:00:00 2001 From: Bill Richardson Date: Fri, 27 Aug 2010 09:31:26 -0700 Subject: More cgptlib tests Add some extra cases to SanityCheckTest() to test both header and entries being garbled at either end of the disk. Add DuplicateUniqueGuidTest() to check that GPTs having duplicate UniqueGuids in the entries are rejected. We can only check this per-disk, of course. Made some changes to the library to enforce the UniqueGuid requirement that I just started testing for. BUG=chromium-os:4854 Review URL: http://codereview.chromium.org/3135044 Change-Id: I86458faf9cc99aa3f29aac0d5b144dbd05067181 --- firmware/lib/cgptlib/cgptlib_internal.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'firmware/lib/cgptlib') diff --git a/firmware/lib/cgptlib/cgptlib_internal.c b/firmware/lib/cgptlib/cgptlib_internal.c index a0c16886..ee3c87f1 100644 --- a/firmware/lib/cgptlib/cgptlib_internal.c +++ b/firmware/lib/cgptlib/cgptlib_internal.c @@ -152,6 +152,10 @@ int CheckEntries(GptEntry* entries, GptHeader* h) { if ((entry->ending_lba >= e2->starting_lba) && (entry->ending_lba <= e2->ending_lba)) return 1; + + /* UniqueGuid field must be unique. */ + if (0 == Memcmp(&entry->unique, &e2->unique, sizeof(Guid))) + return 1; } } -- cgit v1.2.1