From 2607bd4fbbf078969d12ee83735712625767972f Mon Sep 17 00:00:00 2001 From: jief666 Date: Wed, 19 Aug 2020 22:29:26 +0300 Subject: [PATCH] Wrong cast in GetBootFromOption(). --- rEFIt_UEFI/Platform/Settings.cpp | 4 ++-- rEFIt_UEFI/refit/main.cpp | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/rEFIt_UEFI/Platform/Settings.cpp b/rEFIt_UEFI/Platform/Settings.cpp index 162e9b7c41..739addeec8 100644 --- a/rEFIt_UEFI/Platform/Settings.cpp +++ b/rEFIt_UEFI/Platform/Settings.cpp @@ -327,12 +327,12 @@ GetBootFromOption(VOID) NameSize = *(UINT16*)Data; Data += 2; // pointer to Volume name - gSettings.DefaultVolume.strncpy((const char*)Data, NameSize); + gSettings.DefaultVolume.strncpy((__typeof__(gSettings.DefaultVolume.wc_str()))Data, NameSize); Data += NameSize; Name2Size = Len - NameSize; if (Name2Size != 0) { - gSettings.DefaultLoader.strncpy((const char*)Data, NameSize); + gSettings.DefaultLoader.strncpy((__typeof__(gSettings.DefaultVolume.wc_str()))Data, NameSize); } DBG("Clover started with option to boot %ls from %ls\n", diff --git a/rEFIt_UEFI/refit/main.cpp b/rEFIt_UEFI/refit/main.cpp index 87690a3cc5..ca237b81d0 100644 --- a/rEFIt_UEFI/refit/main.cpp +++ b/rEFIt_UEFI/refit/main.cpp @@ -1938,17 +1938,17 @@ RefitMain (IN EFI_HANDLE ImageHandle, GetBootFromOption(); } else { ParseLoadOptions(&ConfName, &gConfigDict[1]); - if (ConfName.isEmpty()) { + if (ConfName.isEmpty()) { + gConfigDict[1] = NULL; + } else { + SetOEMPath(ConfName); + Status = LoadUserSettings(SelfRootDir, ConfName, &gConfigDict[1]); + DBG("%ls\\%ls.plist%ls loaded with name from LoadOptions: %s\n", + OEMPath.wc_str(), ConfName.wc_str(), EFI_ERROR(Status) ? L" not" : L"", strerror(Status)); + if (EFI_ERROR(Status)) { gConfigDict[1] = NULL; - } else { - SetOEMPath(ConfName); - Status = LoadUserSettings(SelfRootDir, ConfName, &gConfigDict[1]); - DBG("%ls\\%ls.plist%ls loaded with name from LoadOptions: %s\n", - OEMPath.wc_str(), ConfName.wc_str(), EFI_ERROR(Status) ? L" not" : L"", strerror(Status)); - if (EFI_ERROR(Status)) { - gConfigDict[1] = NULL; - } } + } } } if (gConfigDict[1]) {