gpt: properly detect and repair invalid tables
GPT_BOTH_VALID is 4 bits so simple a boolean check is not sufficient. This broken condition allowed gptprio to trust bogus disk locations in headers that were marked invalid causing arbitrary disk corruption.
This commit is contained in:
parent
4d91c78833
commit
6078f83638
2 changed files with 2 additions and 2 deletions
|
@ -91,7 +91,7 @@ grub_find_next (const char *disk_name,
|
|||
if (!gpt)
|
||||
goto done;
|
||||
|
||||
if (!(gpt->status & GRUB_GPT_BOTH_VALID))
|
||||
if ((gpt->status & GRUB_GPT_BOTH_VALID) != GRUB_GPT_BOTH_VALID)
|
||||
if (grub_gpt_repair (dev->disk, gpt))
|
||||
goto done;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue