git: 345fdf99b13a - main - sysutils/uefi-edk2-bhyve: fix build with modern compilers
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 05 May 2022 10:25:59 UTC
The branch main has been updated by fluffy: URL: https://cgit.FreeBSD.org/ports/commit/?id=345fdf99b13a6ddecf78058ab92ea89fa12b0d21 commit 345fdf99b13a6ddecf78058ab92ea89fa12b0d21 Author: Dima Panov <fluffy@FreeBSD.org> AuthorDate: 2022-05-05 10:18:05 +0000 Commit: Dima Panov <fluffy@FreeBSD.org> CommitDate: 2022-05-05 10:25:47 +0000 sysutils/uefi-edk2-bhyve: fix build with modern compilers Since GCC11/Clang13, build was failed with error: argument 2 of type 'const uint8_t *' {aka 'const unsigned char *'} declared as a pointer [-Werror=vla-parameter] Backport patch from brotli upstream While here, fix string pointer overflows in USB handler code [1] PR: 263545 Approved by: portmgr blanket (Tier 1 fix build) Obtained from: Gentoo bug#801925 [1] --- sysutils/uefi-edk2-bhyve/Makefile | 1 + sysutils/uefi-edk2-bhyve/files/patch-fix-warnings | 29 ++++++++++++++++++++++ .../files/patch-stringpop-overflows | 22 ++++++++++++++++ 3 files changed, 52 insertions(+) diff --git a/sysutils/uefi-edk2-bhyve/Makefile b/sysutils/uefi-edk2-bhyve/Makefile index a13311675305..9769fc41316b 100644 --- a/sysutils/uefi-edk2-bhyve/Makefile +++ b/sysutils/uefi-edk2-bhyve/Makefile @@ -1,5 +1,6 @@ PORTNAME= uefi-edk2-bhyve PORTVERSION= g20210226 +PORTREVISION= 1 PORTEPOCH= 2 CATEGORIES= sysutils diff --git a/sysutils/uefi-edk2-bhyve/files/patch-fix-warnings b/sysutils/uefi-edk2-bhyve/files/patch-fix-warnings new file mode 100644 index 000000000000..10e373e824a6 --- /dev/null +++ b/sysutils/uefi-edk2-bhyve/files/patch-fix-warnings @@ -0,0 +1,29 @@ +--- BaseTools/Source/C/BrotliCompress/brotli/c/dec/decode.c ++++ BaseTools/Source/C/BrotliCompress/brotli/c/dec/decode.c +@@ -2033,8 +2033,10 @@ static BROTLI_NOINLINE BrotliDecoderErrorCode SafeProcessCommands( + } + + BrotliDecoderResult BrotliDecoderDecompress( +- size_t encoded_size, const uint8_t* encoded_buffer, size_t* decoded_size, +- uint8_t* decoded_buffer) { ++ size_t encoded_size, ++ const uint8_t encoded_buffer[BROTLI_ARRAY_PARAM(encoded_size)], ++ size_t* decoded_size, ++ uint8_t decoded_buffer[BROTLI_ARRAY_PARAM(*decoded_size)]) { + BrotliDecoderState s; + BrotliDecoderResult result; + size_t total_out = 0; +--- BaseTools/Source/C/BrotliCompress/brotli/c/enc/encode.c ++++ BaseTools/Source/C/BrotliCompress/brotli/c/enc/encode.c +@@ -1470,8 +1470,9 @@ static size_t MakeUncompressedStream( + + BROTLI_BOOL BrotliEncoderCompress( + int quality, int lgwin, BrotliEncoderMode mode, size_t input_size, +- const uint8_t* input_buffer, size_t* encoded_size, +- uint8_t* encoded_buffer) { ++ const uint8_t input_buffer[BROTLI_ARRAY_PARAM(input_size)], ++ size_t* encoded_size, ++ uint8_t encoded_buffer[BROTLI_ARRAY_PARAM(*encoded_size)]) { + BrotliEncoderState* s; + size_t out_size = *encoded_size; + const uint8_t* input_start = input_buffer; diff --git a/sysutils/uefi-edk2-bhyve/files/patch-stringpop-overflows b/sysutils/uefi-edk2-bhyve/files/patch-stringpop-overflows new file mode 100644 index 000000000000..9f7a4986a53f --- /dev/null +++ b/sysutils/uefi-edk2-bhyve/files/patch-stringpop-overflows @@ -0,0 +1,22 @@ +--- MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.c ++++ MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.c +@@ -285,7 +285,7 @@ UsbHcBulkTransfer ( + IN UINT8 DevSpeed, + IN UINTN MaxPacket, + IN UINT8 BufferNum, +- IN OUT VOID *Data[EFI_USB_MAX_BULK_BUFFER_NUM], ++ IN OUT VOID **Data, + IN OUT UINTN *DataLength, + IN OUT UINT8 *DataToggle, + IN UINTN TimeOut, +--- MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.h ++++ MdeModulePkg/Bus/Usb/UsbBusDxe/UsbUtility.h +@@ -149,7 +149,7 @@ UsbHcBulkTransfer ( + IN UINT8 DevSpeed, + IN UINTN MaxPacket, + IN UINT8 BufferNum, +- IN OUT VOID *Data[EFI_USB_MAX_BULK_BUFFER_NUM], ++ IN OUT VOID **Data, + IN OUT UINTN *DataLength, + IN OUT UINT8 *DataToggle, + IN UINTN TimeOut,