25 lines
664 B
Diff
25 lines
664 B
Diff
|
---
|
||
|
kpartx/gpt.c | 9 +++++++++
|
||
|
1 file changed, 9 insertions(+)
|
||
|
|
||
|
Index: multipath-tools-120123/kpartx/gpt.c
|
||
|
===================================================================
|
||
|
--- multipath-tools-120123.orig/kpartx/gpt.c
|
||
|
+++ multipath-tools-120123/kpartx/gpt.c
|
||
|
@@ -367,6 +367,15 @@ is_gpt_valid(int fd, uint64_t lba,
|
||
|
}
|
||
|
|
||
|
|
||
|
+ /* Check that sizeof_partition_entry has the correct value */
|
||
|
+ if (__le32_to_cpu((*gpt)->sizeof_partition_entry) != sizeof(gpt_entry)) {
|
||
|
+ // printf("GUID partition entry size check failed.\n");
|
||
|
+ free(*gpt);
|
||
|
+ *gpt = NULL;
|
||
|
+ return 0;
|
||
|
+ }
|
||
|
+
|
||
|
+
|
||
|
if (!(*ptes = alloc_read_gpt_entries(fd, *gpt))) {
|
||
|
free(*gpt);
|
||
|
*gpt = NULL;
|