diff --git a/.vs/rufus.vcxproj b/.vs/rufus.vcxproj index a685a716..99adc9f0 100644 --- a/.vs/rufus.vcxproj +++ b/.vs/rufus.vcxproj @@ -423,6 +423,7 @@ + diff --git a/.vs/rufus.vcxproj.filters b/.vs/rufus.vcxproj.filters index 06a20b21..cd02009c 100644 --- a/.vs/rufus.vcxproj.filters +++ b/.vs/rufus.vcxproj.filters @@ -194,6 +194,9 @@ Header Files + + Header Files + diff --git a/_release.sh b/_release.sh index 32b3716e..46c58c17 100755 --- a/_release.sh +++ b/_release.sh @@ -1,5 +1,4 @@ #!/bin/sh -rm -f rufus*.exe ./configure --disable-debug "$@" make -j12 clean make -j12 release diff --git a/configure b/configure index 69e58bcd..ea8a7e1a 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.7. +# Generated by GNU Autoconf 2.71 for rufus 4.8. # # Report bugs to . # @@ -611,8 +611,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='rufus' PACKAGE_TARNAME='rufus' -PACKAGE_VERSION='4.7' -PACKAGE_STRING='rufus 4.7' +PACKAGE_VERSION='4.8' +PACKAGE_STRING='rufus 4.8' 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.7 to adapt to many kinds of systems. +\`configure' configures rufus 4.8 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.7:";; + short | recursive ) echo "Configuration of rufus 4.8:";; 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.7 +rufus configure 4.8 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.7, which was +It was created by rufus $as_me 4.8, 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.7' + VERSION='4.8' 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.7, which was +This file was extended by rufus $as_me 4.8, 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.7 +rufus config.status 4.8 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 27ccdbfa..abf747b5 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([rufus], [4.7], [https://github.com/pbatard/rufus/issues], [rufus], [https://rufus.ie]) +AC_INIT([rufus], [4.8], [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/res/appstore/packme.cmd b/res/appstore/packme.cmd index cbecd90c..c09eb363 100644 --- a/res/appstore/packme.cmd +++ b/res/appstore/packme.cmd @@ -70,24 +70,24 @@ for %%a in (%ARCHS%) do ( ) rem Use our own get_pe_info executable - source is in this directory -if not exist get_pe_info.exe ( - echo get_pe_info.exe must exist in this directory. Compile it with MinGW. +if not exist ..\get_pe_info.exe ( + echo ..\get_pe_info.exe must exist in the parent directory. Compile it with MinGW. goto out ) rem Make sure we're not trying to create a package from an ALPHA or BETA version! -get_pe_info.exe -i rufus_x64.exe | findstr /C:"ALPHA" 1>nul && ( +..\get_pe_info.exe -i rufus_x64.exe | findstr /C:"ALPHA" 1>nul && ( echo Alpha version detected - ABORTED goto out ) -get_pe_info.exe -i rufus_x64.exe | findstr /C:"BETA" 1>nul && ( +..\get_pe_info.exe -i rufus_x64.exe | findstr /C:"BETA" 1>nul && ( echo Beta version detected - ABORTED goto out ) rem Populate the version from the executable if "%VERSION_OVERRIDE%"=="" ( - get_pe_info.exe -v rufus_x64.exe > version.txt + ..\get_pe_info.exe -v rufus_x64.exe > version.txt set /p VERSION=> (start & regMask)) & ((((U64)1) << nbBits) - 1); #else return (bitContainer >> (start & regMask)) & BIT_mask[nbBits]; diff --git a/src/bled/libbb.h b/src/bled/libbb.h index f1cf7d6e..eb799206 100644 --- a/src/bled/libbb.h +++ b/src/bled/libbb.h @@ -304,7 +304,7 @@ void xpipe(int filedes[2]) FAST_FUNC; static inline void xmove_fd(int from, int to) { if (from != to) { - _dup2(from, to); + (void)_dup2(from, to); _close(from); } } diff --git a/src/bled/platform.h b/src/bled/platform.h index ce0cf5f3..7c05d31f 100644 --- a/src/bled/platform.h +++ b/src/bled/platform.h @@ -261,7 +261,7 @@ typedef uint64_t bb__aliased_uint64_t FIX_ALIASING; /* NB: unaligned parameter should be a pointer, aligned one - * a lvalue. This makes it more likely to not swap them by mistake */ -#if defined(i386) || defined(__x86_64__) || defined(__powerpc__) +#if defined(i386) || defined(__x86_64__) || defined(_M_IX86) || defined(_M_X64) || defined(__powerpc__) # define BB_UNALIGNED_MEMACCESS_OK 1 # define move_from_unaligned_int(v, intp) ((v) = *(bb__aliased_int*)(intp)) # define move_from_unaligned_long(v, longp) ((v) = *(bb__aliased_long*)(longp)) diff --git a/src/bled/xz_dec_stream.c b/src/bled/xz_dec_stream.c index 31158b4e..b0184228 100644 --- a/src/bled/xz_dec_stream.c +++ b/src/bled/xz_dec_stream.c @@ -368,7 +368,7 @@ static enum xz_ret XZ_FUNC crc32_validate(struct xz_dec *s, struct xz_buf *b) */ static bool XZ_FUNC check_skip(struct xz_dec *s, struct xz_buf *b) { - while (s->pos < check_sizes[s->check_type]) { + while (s->check_type < 16 && s->pos < check_sizes[s->check_type]) { if (b->in_pos == b->in_size) return false; diff --git a/src/bled/zstd_cpu.h b/src/bled/zstd_cpu.h index 13b4469d..26603ba3 100644 --- a/src/bled/zstd_cpu.h +++ b/src/bled/zstd_cpu.h @@ -118,7 +118,7 @@ MEM_STATIC ZSTD_cpuid_t ZSTD_cpuid(void) { : "a"(7), "c"(0) : "edx"); } -#elif defined(__x86_64__) || defined(_M_X64) || defined(__i386__) +#elif defined(__x86_64__) || defined(_M_X64) || defined(__i386__) || defined(_M_IX86) U32 n; __asm__("cpuid" : "=a"(n) : "a"(0) : "ebx", "ecx", "edx"); if (n >= 1) { diff --git a/src/hash.c b/src/hash.c index e0e4d173..663b58d2 100644 --- a/src/hash.c +++ b/src/hash.c @@ -1697,7 +1697,7 @@ BOOL efi_image_parse(uint8_t* efi, size_t len, struct efi_image_regions** regp) if (len < 0x80) return FALSE; dos = (void*)efi; - if (dos->e_lfanew > len - 0x40) + if (dos->e_lfanew > (LONG)len - 0x40) return FALSE; nt = (void*)(efi + dos->e_lfanew); authsz = 0; @@ -2230,7 +2230,7 @@ static BOOL IsRevokedByDbx(uint8_t* hash, uint8_t* buf, uint32_t len) goto out; efi_var_auth = (EFI_VARIABLE_AUTHENTICATION_2*)dbx_data; - fluff_size = efi_var_auth->AuthInfo.Hdr.dwLength + sizeof(EFI_TIME); // +sizeof(EFI_SIGNATURE_LIST); + fluff_size = efi_var_auth->AuthInfo.Hdr.dwLength + sizeof(EFI_TIME); if (dbx_size <= fluff_size) goto out; efi_sig_list = (EFI_SIGNATURE_LIST*)&dbx_data[fluff_size]; diff --git a/src/net.c b/src/net.c index eb7a0b66..76aadcda 100644 --- a/src/net.c +++ b/src/net.c @@ -923,14 +923,7 @@ static DWORD WINAPI DownloadISOThread(LPVOID param) dwSize = (DWORD)strlen(FORCE_URL); #endif IMG_SAVE img_save = { 0 }; -// WTF is wrong with Microsoft's static analyzer reporting a potential buffer overflow here?!? -#if defined(_MSC_VER) -#pragma warning(disable: 6386) -#endif url[min(dwSize, dwAvail)] = 0; -#if defined(_MSC_VER) -#pragma warning(default: 6386) -#endif EXT_DECL(img_ext, GetShortName(url), __VA_GROUP__("*.iso"), __VA_GROUP__(lmprintf(MSG_036))); img_save.Type = VIRTUAL_STORAGE_TYPE_DEVICE_ISO; img_save.ImagePath = FileDialog(TRUE, NULL, &img_ext, NULL); diff --git a/src/rufus.rc b/src/rufus.rc index c559ee9f..adc8dccd 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.7.2231" +CAPTION "Rufus 4.8.2232" FONT 9, "Segoe UI Symbol", 400, 0, 0x0 BEGIN LTEXT "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP @@ -407,8 +407,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 4,7,2231,0 - PRODUCTVERSION 4,7,2231,0 + FILEVERSION 4,8,2232,0 + PRODUCTVERSION 4,8,2232,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -426,13 +426,13 @@ BEGIN VALUE "Comments", "https://rufus.ie" VALUE "CompanyName", "Akeo Consulting" VALUE "FileDescription", "Rufus" - VALUE "FileVersion", "4.7.2231" + VALUE "FileVersion", "4.8.2232" VALUE "InternalName", "Rufus" VALUE "LegalCopyright", "© 2011-2025 Pete Batard (GPL v3)" VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html" - VALUE "OriginalFilename", "rufus-4.7.exe" + VALUE "OriginalFilename", "rufus-4.8.exe" VALUE "ProductName", "Rufus" - VALUE "ProductVersion", "4.7.2231" + VALUE "ProductVersion", "4.8.2232" END END BLOCK "VarFileInfo" diff --git a/src/syslinux/libfat/ulint.h b/src/syslinux/libfat/ulint.h index c2fadb72..16ef962b 100644 --- a/src/syslinux/libfat/ulint.h +++ b/src/syslinux/libfat/ulint.h @@ -39,7 +39,7 @@ static inline void write8(le8_t * _p, uint8_t _v) *_p = _v; } -#if defined(__i386__) || defined(__x86_64__) +#if defined(__i386__) || defined(__x86_64__) || defined(_M_IX86) || defined(_M_X64) /* Littleendian architectures which support unaligned memory accesses */