]> glassweightruler.freedombox.rocks Git - Ventoy.git/commitdiff
Fixup a bug when booting special Windows/WinPE ISO file.
authorlongpanda <admin@ventoy.net>
Fri, 2 Apr 2021 06:11:47 +0000 (14:11 +0800)
committerlongpanda <admin@ventoy.net>
Fri, 2 Apr 2021 06:11:47 +0000 (14:11 +0800)
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_windows.c

index 109087eadf4f901317a87ac933abdb22c51a88cf..d7ea1b089dc753ec0805bffe99c7408e81e93934 100644 (file)
@@ -860,7 +860,14 @@ static int ventoy_wimdows_locate_wim(const char *disk, wim_patch *patch)
     }
 
     security = (wim_security_header *)decompress_data;
-    rootdir = (wim_directory_entry *)(decompress_data + ((security->len + 7) & 0xFFFFFFF8U));
+    if (security->len > 0)
+    {
+        rootdir = (wim_directory_entry *)(decompress_data + ((security->len + 7) & 0xFFFFFFF8U));
+    }
+    else
+    {
+        rootdir = (wim_directory_entry *)(decompress_data + 8);
+    }
 
     /* search winpeshl.exe dirent entry */
     search = search_replace_wim_dirent(decompress_data, rootdir);