diff --git a/.github/issue_template.md b/.github/issue_template.md
index 3195d5c5..78f390bc 100644
--- a/.github/issue_template.md
+++ b/.github/issue_template.md
@@ -25,7 +25,7 @@ Checklist
---------
- [ ] I looked at https://github.com/pbatard/rufus/wiki/FAQ to see if my question has already been answered.
- [ ] I performed a search in the issue tracker for similar issues using keywords relevant to my problem, such as the error message I got from the log.
-- [ ] I clicked the 'Log' button or pressed Ctrl-L in Rufus, or used [DebugView](https://learn.microsoft.com/en-us/sysinternals/downloads/debugview), and copy/pasted the log into the section that says `` below.
+- [ ] I clicked the 'Log' button (🗒️) or pressed Ctrl-L in Rufus, or used [DebugView](https://learn.microsoft.com/en-us/sysinternals/downloads/debugview), and copy/pasted the log into the section that says `` below.
- [ ] The log I am copying is the FULL log, starting with the line `Rufus version: x.y.z` - I have NOT removed any part of it.
Additionally (if applicable):
diff --git a/ChangeLog.txt b/ChangeLog.txt
index 42bf40fc..b96ebd73 100644
--- a/ChangeLog.txt
+++ b/ChangeLog.txt
@@ -3,7 +3,7 @@ o Version 4.1 (2023.05.31)
Restore MS-DOS drive creation through the download of binaries from Microsoft
Update the log button icon
Fix UEFI:NTFS incompatibility with Windows Dev Kit 2023 platform
- Fix more out of range pointer errors with Ubuntu/Fedora when booting in BIOS mode
+ Fix more GRUB 'out of range pointer' errors with Ubuntu/Fedora when booting in BIOS mode
o Version 4.0 (2023.04.26)
Fix persistent partition not working with Ubuntu 23.04
diff --git a/configure b/configure
index 5dad70db..d2115037 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for rufus 4.1.
+# Generated by GNU Autoconf 2.71 for rufus 4.2.
#
# Report bugs to .
#
@@ -611,8 +611,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='rufus'
PACKAGE_TARNAME='rufus'
-PACKAGE_VERSION='4.1'
-PACKAGE_STRING='rufus 4.1'
+PACKAGE_VERSION='4.2'
+PACKAGE_STRING='rufus 4.2'
PACKAGE_BUGREPORT='https://github.com/pbatard/rufus/issues'
PACKAGE_URL='https://rufus.ie'
@@ -1269,7 +1269,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures rufus 4.1 to adapt to many kinds of systems.
+\`configure' configures rufus 4.2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1336,7 +1336,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of rufus 4.1:";;
+ short | recursive ) echo "Configuration of rufus 4.2:";;
esac
cat <<\_ACEOF
@@ -1428,7 +1428,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-rufus configure 4.1
+rufus configure 4.2
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1504,7 +1504,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by rufus $as_me 4.1, which was
+It was created by rufus $as_me 4.2, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -2767,7 +2767,7 @@ fi
# Define the identity of the package.
PACKAGE='rufus'
- VERSION='4.1'
+ VERSION='4.2'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -5309,7 +5309,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by rufus $as_me 4.1, which was
+This file was extended by rufus $as_me 4.2, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -5365,7 +5365,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-rufus config.status 4.1
+rufus config.status 4.2
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index d3d4af69..2a531578 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-AC_INIT([rufus], [4.1], [https://github.com/pbatard/rufus/issues], [rufus], [https://rufus.ie])
+AC_INIT([rufus], [4.2], [https://github.com/pbatard/rufus/issues], [rufus], [https://rufus.ie])
AM_INIT_AUTOMAKE([-Wno-portability foreign no-dist no-dependencies])
AC_CONFIG_SRCDIR([src/rufus.c])
AC_CONFIG_MACRO_DIR([m4])
diff --git a/src/process.c b/src/process.c
index 356a0b01..59e2becf 100644
--- a/src/process.c
+++ b/src/process.c
@@ -159,6 +159,9 @@ static NTSTATUS PhDestroyHeap(VOID)
*/
static PVOID PhAllocate(SIZE_T Size)
{
+ if (PhHeapHandle == NULL)
+ return NULL;
+
PF_INIT(RtlAllocateHeap, Ntdll);
if (pfRtlAllocateHeap == NULL)
return NULL;
@@ -174,8 +177,10 @@ static PVOID PhAllocate(SIZE_T Size)
*/
static VOID PhFree(PVOID Memory)
{
- PF_INIT(RtlFreeHeap, Ntdll);
+ if (PhHeapHandle == NULL)
+ return;
+ PF_INIT(RtlFreeHeap, Ntdll);
if (pfRtlFreeHeap != NULL)
pfRtlFreeHeap(PhHeapHandle, 0, Memory);
}
diff --git a/src/rufus.h b/src/rufus.h
index e56b5165..20091aac 100644
--- a/src/rufus.h
+++ b/src/rufus.h
@@ -75,7 +75,7 @@
#define MAX_PARTITIONS 16 // Maximum number of partitions we handle
#define MAX_ESP_TOGGLE 8 // Maximum number of entries we record to toggle GPT ESP back and forth
#define MAX_IGNORE_USB 8 // Maximum number of USB drives we want to ignore
-#define MAX_ISO_TO_ESP_SIZE 512 // Maximum size we allow for the ISO → ESP option (in MB)
+#define MAX_ISO_TO_ESP_SIZE 1024 // Maximum size we allow for the ISO → ESP option (in MB)
#define MAX_DEFAULT_LIST_CARD_SIZE 200 // Size above which we don't list a card without enable HDD or Alt-F (in GB)
#define MAX_SECTORS_TO_CLEAR 128 // nb sectors to zap when clearing the MBR/GPT (must be >34)
#define MAX_USERNAME_LENGTH 128 // Maximum size we'll accept for a WUE specified username
@@ -117,9 +117,9 @@
#define FILES_URL RUFUS_URL "/files"
#define FILES_DIR APPLICATION_NAME
#define FIDO_VERSION "z1"
-#define SECURE_BOOT_MORE_INFO_URL "https://github.com/pbatard/rufus/wiki/FAQ#Why_do_I_need_to_disable_Secure_Boot_to_use_UEFINTFS"
-#define WPPRECORDER_MORE_INFO_URL "https://github.com/pbatard/rufus/wiki/FAQ#BSODs_with_Windows_To_Go_drives_created_from_Windows_10_1809_ISOs"
-#define SEVENZIP_URL "https://www.7-zip.org"
+#define WPPRECORDER_MORE_INFO_URL "https://github.com/pbatard/rufus/wiki/FAQ#bsods-with-windows-to-go-drives-created-from-windows-10-1809-isos"
+#define SEVENZIP_URL "https://7-zip.org/"
+// Generated by following https://randomascii.wordpress.com/2013/03/09/symbols-the-microsoft-way/
#define DISKCOPY_URL "https://msdl.microsoft.com/download/symbols/diskcopy.dll/54505118173000/diskcopy.dll"
#define DISKCOPY_USER_AGENT "Microsoft-Symbol-Server/10.0.22621.755"
#define DISKCOPY_SIZE 0x16ee00
diff --git a/src/rufus.rc b/src/rufus.rc
index 35b56a09..5af96e98 100644
--- a/src/rufus.rc
+++ b/src/rufus.rc
@@ -33,7 +33,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
IDD_DIALOG DIALOGEX 12, 12, 232, 326
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_ACCEPTFILES
-CAPTION "Rufus 4.1.2045"
+CAPTION "Rufus 4.2.2046"
FONT 9, "Segoe UI Symbol", 400, 0, 0x0
BEGIN
LTEXT "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP
@@ -392,8 +392,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 4,1,2045,0
- PRODUCTVERSION 4,1,2045,0
+ FILEVERSION 4,2,2046,0
+ PRODUCTVERSION 4,2,2046,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -411,13 +411,13 @@ BEGIN
VALUE "Comments", "https://rufus.ie"
VALUE "CompanyName", "Akeo Consulting"
VALUE "FileDescription", "Rufus"
- VALUE "FileVersion", "4.1.2045"
+ VALUE "FileVersion", "4.2.2046"
VALUE "InternalName", "Rufus"
VALUE "LegalCopyright", " 2011-2023 Pete Batard (GPL v3)"
VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html"
- VALUE "OriginalFilename", "rufus-4.1.exe"
+ VALUE "OriginalFilename", "rufus-4.2.exe"
VALUE "ProductName", "Rufus"
- VALUE "ProductVersion", "4.1.2045"
+ VALUE "ProductVersion", "4.2.2046"
END
END
BLOCK "VarFileInfo"