mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-04-02 02:49:12 +00:00
freerdp: upgrade 2.11.7 -> 2.11.8
Dropped 0001-Fix-const-qualifier-error.patch
* error no longer reproducible with clang
Dropped 0001-Fixed-compilation-warnings-in-ainput-channel.patch
* changes merged upstream[1]
Dropped 0001-Fixed-compilation-warnings.patch
* changes merged upstream[2]
Added 0001-Fix-compilation-error.patch to fix error:
| /yocto/bitbake-builds/poky-master/build/tmp/work/x86-64-v3-poky-linux/freerdp/2.11.8/sources/freerdp-2.11.8/winpr/libwinpr/utils/collections/Queue.c: In function 'Queue_EnsureCapacity':
| /yocto/bitbake-builds/poky-master/build/tmp/work/x86-64-v3-poky-linux/freerdp/2.11.8/sources/freerdp-2.11.8/winpr/libwinpr/utils/collections/Queue.c:169:30: error: assignment to 'void **' from incompatible pointer type 'uintptr_t *' {aka 'long unsigned int *'} [-Wincompatible-pointer-types]
| 169 | queue->array = newArray;
| |
Release Notes:
https://github.com/FreeRDP/FreeRDP/releases/tag/2.11.8
Ptests passed:
START: ptest-runner
2026-03-24T19:06
BEGIN: /usr/lib/freerdp/ptest
PASS: TestClient TestClientRdpFile
...
PASS: TestWtsApi TestWtsApiWaitSystemEvent
DURATION: 180
END: /usr/lib/freerdp/ptest
2026-03-24T19:09
STOP: ptest-runner
TOTAL: 1 FAIL: 0
[1] 5b2b53b15c
[2] d2b6771c74
Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
parent
4840ec3594
commit
ea89aba402
@ -0,0 +1,101 @@
|
||||
From 0d48a9cb6e25afa10e76de75232ad32a82806aae Mon Sep 17 00:00:00 2001
|
||||
From: Ankur Tyagi <ankur.tyagi85@gmail.com>
|
||||
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 <ankur.tyagi85@gmail.com>
|
||||
---
|
||||
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);
|
||||
@ -1,57 +0,0 @@
|
||||
From 761b4df04a141cc8c9507c741e4046c6c6b00491 Mon Sep 17 00:00:00 2001
|
||||
From: Wang Mingyu <wangmy@fujitsu.com>
|
||||
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 <wangmy@fujitsu.com>
|
||||
---
|
||||
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
|
||||
|
||||
@ -1,72 +0,0 @@
|
||||
From 130094de3244d5039e463e1142e1ec487c1104ef Mon Sep 17 00:00:00 2001
|
||||
From: Armin Novak <armin.novak@thincast.com>
|
||||
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 <martin.jansa@gmail.com>
|
||||
---
|
||||
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
|
||||
|
||||
@ -1,27 +0,0 @@
|
||||
From 75fa1fa5bd5ef2350390564245fd0984209ac092 Mon Sep 17 00:00:00 2001
|
||||
From: akallabeth <akallabeth@posteo.net>
|
||||
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 <raj.khem@gmail.com>
|
||||
---
|
||||
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
|
||||
|
||||
@ -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 \
|
||||
Loading…
x
Reference in New Issue
Block a user