From 7d7a9418d40186fa673a9cf8f6654e479dd52b74 Mon Sep 17 00:00:00 2001 From: Mykola Grymalyuk Date: Wed, 11 May 2022 09:48:30 -0600 Subject: [PATCH] Add error handling to non-standard/malformed OpenCore Boot Path --- CHANGELOG.md | 1 + resources/utilities.py | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f885b919..7da72d97d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ - Add GUI Prompt for booting mismatched OpenCore configs - ex. Booting MacBookPro8,1 config on MacBookPro11,1 - Add Checksum verification to InstallAssistant.pkg download +- Add error handling to non-standard/malformed OpenCore Boot Path ## 0.4.4 - Lower SIP requirement for Root Patching diff --git a/resources/utilities.py b/resources/utilities.py index 10c7760aa..dbb755a80 100644 --- a/resources/utilities.py +++ b/resources/utilities.py @@ -471,17 +471,23 @@ def clean_device_path(device_path: str): # ex: # 'PciRoot(0x0)/Pci(0xA,0x0)/Sata(0x0,0x0,0x0)/HD(1,GPT,C0778F23-3765-4C8E-9BFA-D60C839E7D2D,0x28,0x64000)/EFI\OC\OpenCore.efi' # 'PciRoot(0x0)/Pci(0x1A,0x7)/USB(0x0,0x0)/USB(0x2,0x0)/HD(2,GPT,4E929909-2074-43BA-9773-61EBC110A670,0x64800,0x38E3000)/EFI\OC\OpenCore.efi' + # 'PciRoot(0x0)/Pci(0x1A,0x7)/USB(0x0,0x0)/USB(0x1,0x0)/\EFI\OC\OpenCore.efi' # return: # 'C0778F23-3765-4C8E-9BFA-D60C839E7D2D' # '4E929909-2074-43BA-9773-61EBC110A670' + # 'None' if device_path: + if not any(partition in device_path for partition in ["GPT", "MBR"]): + return None device_path_array = device_path.split("/") # we can always assume [-1] is 'EFI\OC\OpenCore.efi' if len(device_path_array) >= 2: device_path_stripped = device_path_array[-2] device_path_root_array = device_path_stripped.split(",") - return device_path_root_array[2] + print(device_path_root_array) + if len(device_path_root_array) >= 2: + return device_path_root_array[2] return None