From: srs5694 Date: Thu, 6 Oct 2016 14:07:03 +0000 (-0400) Subject: Fixed uninitialized-pointer bug that manifested as a crash with X-Git-Url: https://code.delx.au/refind/commitdiff_plain/c63e9bd427f945b881d337b9fd5d3ff8612f103f Fixed uninitialized-pointer bug that manifested as a crash with GNU-EFI starting with 3.0.3 or 3.0.4. Also some small documentation changes. --- diff --git a/NEWS.txt b/NEWS.txt index 807e198..4c0579d 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -1,6 +1,9 @@ 0.10.4 (?/??/2016): ------------------- +- Fixed bug that could cause program crash on startup. (In practice, it + manifested with GNU-EFI starting with version 3.0.3 or 3.0.4.) + - An anonymous contributor has provided support for touch screens. This support requires that the "enable_touch" token be used in refind.conf. Note, however, that not all tablet computers have EFIs that provide the diff --git a/docs/refind/bootcoup.html b/docs/refind/bootcoup.html index 5edaf54..af1c4fd 100644 --- a/docs/refind/bootcoup.html +++ b/docs/refind/bootcoup.html @@ -270,7 +270,7 @@ Boot0002* Windows Boot Manager HD(2,113800,113000,8b0b6d94-06af-4894-b9de-13ca35 Boot0003* Windows Boot Manager HD(1,800,113000,2491a00e-2a89-4dc4-af21-34c436c8f88a)File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}.................... Boot0085* ubuntu HD(1,800,113000,2491a00e-2a89-4dc4-af21-34c436c8f88a)File(EFI\Ubuntu\grubx64.efi) -

Much of this output looks like gibberish, and is useful only for very advanced diagnostics. Note, however, the part of most lines that specifies a filename, in parentheses after File—this information can help disambiguate a misleading or redundant name.

+

Much of this output looks like gibberish, and is useful only for very advanced diagnostics. Note, however, the part of most lines that specifies a filename, in parentheses after File—this information can help disambiguate a misleading or redundant name. In this example, for instance, there are two Windows Boot Manager entries on two different partitions; each boots a different version of Windows.

To adjust the boot order, you must identify the rEFInd entry and then use the -o option to efibootmgr to adjust the order:

@@ -283,7 +283,7 @@ Boot0002* Windows Boot Manager Boot0003* Windows Boot Manager Boot0085* ubuntu -

In this example, I moved rEFInd to the top of the list, followed by ubuntu (GRUB), Windows, and OS X. You can adjust the order in any way you want. You can also omit items you don't want to include—but be aware that if you omit Windows entirely from the boot list, it's likely to add itself back (at the top of the list) the next time you boot it.

+

In this example, I moved rEFInd to the top of the list, followed by ubuntu (GRUB) and then the two Windows installations. You can adjust the order in any way you want. You can also omit items you don't want to include—but be aware that if you omit Windows entirely from the boot list, it's likely to add itself back (at the top of the list) the next time you boot it.

Preventing a Linux Coup by Disabling GRUB Updates

diff --git a/refind/gpt.c b/refind/gpt.c index 6ce2ba0..c9b2ac2 100644 --- a/refind/gpt.c +++ b/refind/gpt.c @@ -118,7 +118,7 @@ EFI_STATUS ReadGptData(REFIT_VOLUME *Volume, GPT_DATA **Data) { EFI_STATUS Status = EFI_SUCCESS; UINT64 BufferSize; UINTN i; - GPT_DATA *GptData; // Temporary holding storage; transferred to *Data later + GPT_DATA *GptData = NULL; // Temporary holding storage; transferred to *Data later if ((Volume == NULL) || (Data == NULL)) return EFI_INVALID_PARAMETER;