aboutsummaryrefslogtreecommitdiffstats
path: root/mbr/isohdpfx.S
diff options
context:
space:
mode:
Diffstat (limited to 'mbr/isohdpfx.S')
-rw-r--r--mbr/isohdpfx.S8
1 files changed, 5 insertions, 3 deletions
diff --git a/mbr/isohdpfx.S b/mbr/isohdpfx.S
index 801115c3..0bf807e9 100644
--- a/mbr/isohdpfx.S
+++ b/mbr/isohdpfx.S
@@ -81,14 +81,16 @@ _start:
jz 1f
testb $0x7f, (%si) /* Invalid active flag field? */
jnz 1f
+ cmpb %cl, 4(%si) /* Partition type zero == invalid? */
+ je 1f
cmpl $0x58504721, %eax /* !GPT signature in EAX? */
jne 2f
- cmpb $0xee, 4(%si) /* EFI partition type? */
+ cmpb $0xed, 4(%si) /* EFI partition type? */
jne 2f
/* We have GPT partition information */
- movl (32+16)(%si), %ecx
- movl (36+16)(%si), %ebx
+ movl (32+20)(%si), %ecx
+ movl (36+20)(%si), %ebx
jmp 1f
/* We have non-GPT partition information */