diff --git a/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-compilation-error.patch b/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-compilation-error.patch new file mode 100644 index 0000000000..c2c093bc47 --- /dev/null +++ b/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-compilation-error.patch @@ -0,0 +1,101 @@ +From 0d48a9cb6e25afa10e76de75232ad32a82806aae Mon Sep 17 00:00:00 2001 +From: Ankur Tyagi +Date: Wed, 25 Mar 2026 00:04:42 +1300 +Subject: [PATCH] Fix compilation error + +Upstream-Status: Backport [https://github.com/FreeRDP/FreeRDP/commit/b78cb455cbe847da934c777189b6e7f25267502e] + +Signed-off-by: Ankur Tyagi +--- + winpr/include/winpr/collections.h | 2 +- + winpr/libwinpr/utils/collections/Queue.c | 28 ++++++++++++++++++------ + 2 files changed, 22 insertions(+), 8 deletions(-) + +diff --git a/winpr/include/winpr/collections.h b/winpr/include/winpr/collections.h +index b8c8d9d66..64705751e 100644 +--- a/winpr/include/winpr/collections.h ++++ b/winpr/include/winpr/collections.h +@@ -63,7 +63,7 @@ extern "C" + int head; + int tail; + int size; +- void** array; ++ uintptr_t* array; + CRITICAL_SECTION lock; + HANDLE event; + +diff --git a/winpr/libwinpr/utils/collections/Queue.c b/winpr/libwinpr/utils/collections/Queue.c +index bb789b658..6b86f7ab7 100644 +--- a/winpr/libwinpr/utils/collections/Queue.c ++++ b/winpr/libwinpr/utils/collections/Queue.c +@@ -34,6 +34,16 @@ + * Properties + */ + ++static inline void* uptr2void(uintptr_t ptr) ++{ ++ return (void*)ptr; ++} ++ ++static inline uintptr_t void2uptr(const void* ptr) ++{ ++ return (uintptr_t)ptr; ++} ++ + /** + * Gets the number of elements contained in the Queue. + */ +@@ -98,9 +108,12 @@ void Queue_Clear(wQueue* queue) + for (index = queue->head; index != queue->tail; index = (index + 1) % queue->capacity) + { + if (queue->object.fnObjectFree) +- queue->object.fnObjectFree(queue->array[index]); ++ { ++ void* obj = uptr2void(queue->array[index]); ++ queue->object.fnObjectFree(obj); ++ } + +- queue->array[index] = NULL; ++ queue->array[index] = 0; + } + + queue->size = 0; +@@ -124,7 +137,8 @@ BOOL Queue_Contains(wQueue* queue, void* obj) + + for (index = 0; index < queue->tail; index++) + { +- if (queue->object.fnObjectEquals(queue->array[index], obj)) ++ void* ptr = uptr2void(queue->array[index]); ++ if (queue->object.fnObjectEquals(ptr, obj)) + { + found = TRUE; + break; +@@ -217,7 +231,7 @@ BOOL Queue_Enqueue(wQueue* queue, void* obj) + if (!Queue_EnsureCapacity(queue, 1)) + goto out; + +- queue->array[queue->tail] = obj; ++ queue->array[queue->tail] = void2uptr(obj); + queue->tail = (queue->tail + 1) % queue->capacity; + queue->size++; + SetEvent(queue->event); +@@ -242,8 +256,8 @@ void* Queue_Dequeue(wQueue* queue) + + if (queue->size > 0) + { +- obj = queue->array[queue->head]; +- queue->array[queue->head] = NULL; ++ obj = uptr2void(queue->array[queue->head]); ++ queue->array[queue->head] = 0; + queue->head = (queue->head + 1) % queue->capacity; + queue->size--; + } +@@ -269,7 +283,7 @@ void* Queue_Peek(wQueue* queue) + EnterCriticalSection(&queue->lock); + + if (queue->size > 0) +- obj = queue->array[queue->head]; ++ obj = uptr2void(queue->array[queue->head]); + + if (queue->synchronized) + LeaveCriticalSection(&queue->lock); diff --git a/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-const-qualifier-error.patch b/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-const-qualifier-error.patch deleted file mode 100644 index 87a456d16d..0000000000 --- a/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-const-qualifier-error.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 761b4df04a141cc8c9507c741e4046c6c6b00491 Mon Sep 17 00:00:00 2001 -From: Wang Mingyu -Date: Mon, 11 Sep 2023 09:00:39 +0000 -Subject: [PATCH] Fix const qualifier error - -Fixes clang error -error: incompatible function pointer types assigning to 'OBJECT_NEW_FN' (aka 'void *(*)(void *)') from 'void *(const void *)' [-Wincompatible-function-pointer-types] -| obj->fnObjectNew = uwac_event_clone; -| ^ ~~~~~~~~~~~~~~~~ - -https://github.com/FreeRDP/FreeRDP/commit/6e3c00725aae99d03a0baa65430eceddebd9dee8 -Upstream-Status: Backport - -Signed-off-by: Wang Mingyu ---- - libfreerdp/codec/rfx.c | 4 ++-- - winpr/include/winpr/collections.h | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/libfreerdp/codec/rfx.c b/libfreerdp/codec/rfx.c -index ccbc5af..eec7365 100644 ---- a/libfreerdp/codec/rfx.c -+++ b/libfreerdp/codec/rfx.c -@@ -153,7 +153,7 @@ static void rfx_tile_init(void* obj) - } - } - --static void* rfx_decoder_tile_new(void* val) -+static void* rfx_decoder_tile_new(const void* val) - { - RFX_TILE* tile = NULL; - WINPR_UNUSED(val); -@@ -184,7 +184,7 @@ static void rfx_decoder_tile_free(void* obj) - } - } - --static void* rfx_encoder_tile_new(void* val) -+static void* rfx_encoder_tile_new(const void* val) - { - WINPR_UNUSED(val); - return calloc(1, sizeof(RFX_TILE)); -diff --git a/winpr/include/winpr/collections.h b/winpr/include/winpr/collections.h -index 807f011..b8c8d9d 100644 ---- a/winpr/include/winpr/collections.h -+++ b/winpr/include/winpr/collections.h -@@ -36,7 +36,7 @@ extern "C" - { - #endif - -- typedef void* (*OBJECT_NEW_FN)(void* val); -+ typedef void* (*OBJECT_NEW_FN)(const void* val); - typedef void (*OBJECT_INIT_FN)(void* obj); - typedef void (*OBJECT_UNINIT_FN)(void* obj); - typedef void (*OBJECT_FREE_FN)(void* obj); --- -2.34.1 - diff --git a/meta-oe/recipes-support/freerdp/freerdp/0001-Fixed-compilation-warnings-in-ainput-channel.patch b/meta-oe/recipes-support/freerdp/freerdp/0001-Fixed-compilation-warnings-in-ainput-channel.patch deleted file mode 100644 index 62600cddab..0000000000 --- a/meta-oe/recipes-support/freerdp/freerdp/0001-Fixed-compilation-warnings-in-ainput-channel.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 130094de3244d5039e463e1142e1ec487c1104ef Mon Sep 17 00:00:00 2001 -From: Armin Novak -Date: Tue, 22 Feb 2022 12:05:08 +0100 -Subject: [PATCH] Fixed compilation warnings in ainput channel - -Upstream-Status: Backport [130094de3 Fixed compilation warnings in ainput channel] -Signed-off-by: Martin Jansa ---- - channels/ainput/server/ainput_main.c | 18 ++++++++++++------ - 1 file changed, 12 insertions(+), 6 deletions(-) - -diff --git a/channels/ainput/server/ainput_main.c b/channels/ainput/server/ainput_main.c -index bc1737ee1..17d2ec681 100644 ---- a/channels/ainput/server/ainput_main.c -+++ b/channels/ainput/server/ainput_main.c -@@ -192,7 +192,7 @@ static UINT ainput_server_recv_mouse_event(ainput_server* ainput, wStream* s) - - static HANDLE ainput_server_get_channel_handle(ainput_server* ainput) - { -- BYTE* buffer = NULL; -+ void* buffer = NULL; - DWORD BytesReturned = 0; - HANDLE ChannelEvent = NULL; - -@@ -389,7 +389,7 @@ ainput_server_context* ainput_server_context_new(HANDLE vcm) - goto fail; - return &ainput->context; - fail: -- ainput_server_context_free(ainput); -+ ainput_server_context_free(&ainput->context); - return NULL; - } - -@@ -496,17 +496,23 @@ UINT ainput_server_context_poll_int(ainput_server_context* context) - break; - case AINPUT_OPENED: - { -- BYTE* buffer = NULL; -+ union -+ { -+ BYTE* pb; -+ void* pv; -+ } buffer; - DWORD BytesReturned = 0; - -- if (WTSVirtualChannelQuery(ainput->ainput_channel, WTSVirtualChannelReady, &buffer, -+ buffer.pv = NULL; -+ -+ if (WTSVirtualChannelQuery(ainput->ainput_channel, WTSVirtualChannelReady, &buffer.pv, - &BytesReturned) != TRUE) - { - WLog_ERR(TAG, "WTSVirtualChannelReady failed,"); - } - else - { -- if (*buffer != 0) -+ if (*buffer.pb != 0) - { - error = ainput_server_send_version(ainput); - if (error) -@@ -518,7 +524,7 @@ UINT ainput_server_context_poll_int(ainput_server_context* context) - else - error = CHANNEL_RC_OK; - } -- WTSFreeMemory(buffer); -+ WTSFreeMemory(buffer.pv); - } - break; - case AINPUT_VERSION_SENT: --- -2.43.0 - diff --git a/meta-oe/recipes-support/freerdp/freerdp/0001-Fixed-compilation-warnings.patch b/meta-oe/recipes-support/freerdp/freerdp/0001-Fixed-compilation-warnings.patch deleted file mode 100644 index 7fae2703f8..0000000000 --- a/meta-oe/recipes-support/freerdp/freerdp/0001-Fixed-compilation-warnings.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 75fa1fa5bd5ef2350390564245fd0984209ac092 Mon Sep 17 00:00:00 2001 -From: akallabeth -Date: Mon, 4 Jul 2022 14:34:46 +0200 -Subject: [PATCH] Fixed compilation warnings - -Upstream-Status: Backport [https://github.com/FreeRDP/FreeRDP/commit/2da280b8a1748052b70b3f5a1ef0d8e932c33adc] -Signed-off-by: Khem Raj ---- - client/X11/xf_graphics.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/client/X11/xf_graphics.c b/client/X11/xf_graphics.c -index 5aa1fd48b..fe81e0ed9 100644 ---- a/client/X11/xf_graphics.c -+++ b/client/X11/xf_graphics.c -@@ -438,7 +438,7 @@ static BOOL xf_Pointer_New(rdpContext* context, rdpPointer* pointer) - - #endif - fail: -- WLog_DBG(TAG, "%s: %ld", __func__, rc ? pointer : -1); -+ WLog_DBG(TAG, "%s: %p", __func__, rc ? pointer : NULL); - return rc; - } - --- -2.45.0 - diff --git a/meta-oe/recipes-support/freerdp/freerdp_2.11.7.bb b/meta-oe/recipes-support/freerdp/freerdp_2.11.8.bb similarity index 95% rename from meta-oe/recipes-support/freerdp/freerdp_2.11.7.bb rename to meta-oe/recipes-support/freerdp/freerdp_2.11.8.bb index dff3f6dafe..2cc8dc6cf2 100644 --- a/meta-oe/recipes-support/freerdp/freerdp_2.11.7.bb +++ b/meta-oe/recipes-support/freerdp/freerdp_2.11.8.bb @@ -15,14 +15,12 @@ RDEPENDS:${PN}-ptest += "coreutils pcsc-lite-lib" PE = "1" PKGV = "${GITPKGVTAG}" -SRCREV = "efa899d3deb8595a29fabb2a2251722f9d7e0d7f" +SRCREV = "9b678b6d5a40ce01607d8c3b1b1416437c8416c4" SRC_URI = "git://github.com/FreeRDP/FreeRDP.git;branch=stable-2.0;protocol=https \ file://run-ptest \ file://winpr-makecert-Build-with-install-RPATH.patch \ - file://0001-Fixed-compilation-warnings.patch \ - file://0001-Fix-const-qualifier-error.patch \ file://0002-Do-not-install-tools-a-CMake-targets.patch \ - file://0001-Fixed-compilation-warnings-in-ainput-channel.patch \ + file://0001-Fix-compilation-error.patch \ file://CVE-2024-32661.patch \ file://CVE-2026-22854.patch \ file://CVE-2026-22855.patch \